|
как узнать количество удаленных строк
|
|||
---|---|---|---|
#18+
Используется завязка FoxPro 9 и Oracle Для отправки SQL запросов используется функция SQLEXEC(), запросы посылаются из FoxPro. Передоваемый ператор Delete имеет подзапрос в условии, мне нужно узнать удалил что нибудь этот оператор или нет. к примеру есть две таблицы Tbl1 Name | Age Вася | 21 Петя | 23 Tbl2 Name | Age Вася | 21 Петя | 23 Дима | 24 SQLEXEC("Delete from Tbl2 b where b.Name not in (select a.Name from Tbl1 a)") Заранее благодарен! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 07:52 |
|
как узнать количество удаленных строк
|
|||
---|---|---|---|
#18+
feelin2gИспользуется завязка FoxPro 9 и Oracle Для отправки SQL запросов используется функция SQLEXEC(), запросы посылаются из FoxPro. Передоваемый ператор Delete имеет подзапрос в условии, мне нужно узнать удалил что нибудь этот оператор или нет. к примеру есть две таблицы Tbl1 Name | Age Вася | 21 Петя | 23 Tbl2 Name | Age Вася | 21 Петя | 23 Дима | 24 SQLEXEC("Delete from Tbl2 b where b.Name not in (select a.Name from Tbl1 a)") Заранее благодарен! Так как записи удаляются в Оракл, то и возвращать должен он. Для этого лучше будет воспользоваться процедурой, используя %ROWCOUNT 3041293 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 08:58 |
|
как узнать количество удаленных строк
|
|||
---|---|---|---|
#18+
SindoMeon, Ну а как именно передать это в FoxPro? SQLEXEC(" begin Delete from Tbl2 b where b.Name not in (select a.Name from Tbl1 a) return count (*) into ?kl; end;") Переменная kl пустая SQLEXEC(" begin Delete from Tbl2 b where b.Name not in (select a.Name from Tbl1 a); ?kl := sql%ROWCOUNT; end;") Переменная kl пустая В Oracle отрабатывает нормально, но в FoxPro переменная не возвращается. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 09:27 |
|
как узнать количество удаленных строк
|
|||
---|---|---|---|
#18+
Более правильный вопрос как указать что эта переменная используется в FoxPro и чтоб Oracl присвоил ей значение количества удаленных строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 09:30 |
|
как узнать количество удаленных строк
|
|||
---|---|---|---|
#18+
feelin2gSindoMeon, Ну а как именно передать это в FoxPro? SQLEXEC(" begin Delete from Tbl2 b where b.Name not in (select a.Name from Tbl1 a) return count (*) into ?kl; end;") Переменная kl пустая SQLEXEC(" begin Delete from Tbl2 b where b.Name not in (select a.Name from Tbl1 a); ?kl := sql%ROWCOUNT; end;") Переменная kl пустая В Oracle отрабатывает нормально, но в FoxPro переменная не возвращается. справка по FoxProSends a SQL statement to the data source, where the statement is processed. SQLEXEC(nStatementHandle, [cSQLCommand, [cCursorName]]) используем третий параметр, да! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 09:33 |
|
как узнать количество удаленных строк
|
|||
---|---|---|---|
#18+
SindoMeon, Это вопрос? Нет не использую, да и с ним тоже что т не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 10:02 |
|
как узнать количество удаленных строк
|
|||
---|---|---|---|
#18+
feelin2gSindoMeon, Это вопрос? Нет не использую, да и с ним тоже что т не получается. Это подсказка. Объявляем в FoxPro курсор из одного поля и вставляем его название в SQLEXEC. И да, лучше обернуть DELETE в процедуру на Оракл, которая как раз и будет возвращать %ROWCOUNT. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 10:07 |
|
|
start [/forum/topic.php?fid=41&fpage=84&tid=1584753]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 336ms |
total: | 459ms |
0 / 0 |