full_lamer |
Отправлено: 08.04.2005, 08:41 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
доброго времени суток.
есть такая команда:
CODE | exec ('select * from ' + @table_name + ' where field1 = 1') |
как можно средствами T-SQL проверить что вернула эта команда?
что например дальше исходя из результатов произвести дальнейшие действия...
спасибо
|
|
Gedeon |
Отправлено: 08.04.2005, 12:17 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Что-то странный какой-то вопрос, опишите лучше что Вы хотите сделать, может можно проще, ато пока кроме временной таблицы никаких идей не приходит.
Вообще говоря можно и без временной попробовать, но это такой огород будет, что я думаю того не стоит.
Отредактировано Gedeon — 08/04/2005, 12:31
|
|
full_lamer |
Отправлено: 08.04.2005, 12:29 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
ситуация такая. есть ХП общая для нескольких таблиц. в ХП передается только имя таблицы. после чего формируется и выполняется запрос, и если есть хоть одна выбранная запись — производиться добавление в другую таблицу. иначе ничего не происходит.
в принципе нужно сделать примерно следующее:
CODE | if (exists (exec ('select * from ' + @table_name + ' where field1 = 1'))) <do some thing> |
чушь полная — но смысл я передал правильно...
|
|
Gedeon |
Отправлено: 08.04.2005, 12:38 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
QUOTE (full_lamer @ 08/04/2005, 12:29) | есть ХП общая для нескольких таблиц. в ХП передается только имя таблицы. после чего формируется и выполняется запрос, и если есть хоть одна выбранная запись — производиться добавление в другую таблицу. |
А что эти таблицы могут меняться? Если нет пересматривайте процедуру, ну а если да, давайте еще подробнее, просто неясно зачем вообще это нужно (такой принцип анализа).
|
|
AVC |
Отправлено: 08.04.2005, 12:57 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
есть ХП общая для нескольких таблиц. в ХП передается только имя таблицы. после чего формируется и выполняется запрос, и если есть хоть одна выбранная запись — производиться добавление в другую таблицу.
|
Добавление чего? Если просто флага то вам поможет днамический запрос типа Select Count(*) Into cnt From ...
Ну и далее, если cnt != 0 — добавить ... |
|
full_lamer |
Отправлено: 08.04.2005, 12:58 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
чтобы не писать отдельную хп для каждой таблицы, я сделал одну в которую передается имя таблицы. и после мне нужно смотреть что вышло в результате средствами T-SQL...
|
|
AVC |
Отправлено: 08.04.2005, 13:05 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
чтобы не писать отдельную хп для каждой таблицы, я сделал одну в которую передается имя таблицы. и после мне нужно смотреть что вышло в результате средствами T-SQL...
|
Вообще такого типа проблемы (с шаблонами) легко разрешимы на предыдущем уровне построения системы — при автоматизированной генерации скриптов для БД. Я пользуюсь ErWin'ом.
Кроме того, но это требует проверки у вашего сервера, динамические запросы могут выполняются медленне и их труднее отлаживать и модифицировать.
Отредактировано AVC — 08/04/2005, 12:07 |
|
full_lamer |
Отправлено: 08.04.2005, 13:13 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
большое всем спасибо. в принципе задача уже разрешилась другим способом... просто хотелось узнать как же это можно сделать... буду методом научного втыка — но уже после здачи проекта...
спасибо за участие!
Отредактировано full_lamer — 08/04/2005, 13:13
|
|