Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как узнать количество удаленных строк / 8 сообщений из 8, страница 1 из 1
02.12.2010, 07:52
    #36990391
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)")

Заранее благодарен!
...
Рейтинг: 0 / 0
02.12.2010, 08:58
    #36990445
SindoMeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать количество удаленных строк
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
...
Рейтинг: 0 / 0
02.12.2010, 09:27
    #36990480
feelin2g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать количество удаленных строк
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 переменная не возвращается.
...
Рейтинг: 0 / 0
02.12.2010, 09:30
    #36990486
feelin2g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать количество удаленных строк
Более правильный вопрос как указать что эта переменная используется в FoxPro и чтоб Oracl присвоил ей значение количества удаленных строк.
...
Рейтинг: 0 / 0
02.12.2010, 09:33
    #36990491
SindoMeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать количество удаленных строк
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]])

используем третий параметр, да!
...
Рейтинг: 0 / 0
02.12.2010, 10:02
    #36990553
feelin2g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать количество удаленных строк
SindoMeon,

Это вопрос?
Нет не использую, да и с ним тоже что т не получается.
...
Рейтинг: 0 / 0
02.12.2010, 10:07
    #36990564
SindoMeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать количество удаленных строк
feelin2gSindoMeon,

Это вопрос?
Нет не использую, да и с ним тоже что т не получается.
Это подсказка.
Объявляем в FoxPro курсор из одного поля и вставляем его название в SQLEXEC. И да, лучше обернуть DELETE в процедуру на Оракл, которая как раз и будет возвращать %ROWCOUNT.
...
Рейтинг: 0 / 0
02.12.2010, 10:32
    #36990636
feelin2g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать количество удаленных строк
SindoMeon,

Как заставить Oracl вернуть значение.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как узнать количество удаленных строк / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]