| 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
 | 
|  |