Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как узнать результат динамического запроса в хп?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72911
mssql 2005

Нужно узнать возвращает ли записи запрос вида:
exec 'select * from table where ' + @field + '=' + @value
Возможно ли это?

Картинка с другого сайта. Jah loves you.
1 окт 09, 17:05    [7731045]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать результат динамического запроса в хп?  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
А почему Вы не хотите обойтись статическим SQL ?
1 окт 09, 17:07    [7731059]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать результат динамического запроса в хп?  [new]
EvAlex
Member

Откуда: Israel
Сообщений: 995
А @@ROWCOUNT совсем не помогает?
1 окт 09, 17:15    [7731097]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать результат динамического запроса в хп?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72911
Паганель
А почему Вы не хотите обойтись статическим SQL ?

Такова структура данных. В таблице содержатся настройки для нескольких типов объектов:
ID, SetupCode, obj1ID, obj2ID, … objNID, value

Нужно проверить, существует ли настройка для конкретного объекта, если есть, то обновить, если нет, то добавить.
Структуру изменить нельзя, плодить отдельные процедуры или лестницу проверок не хочется.

EvAlex
А @@ROWCOUNT совсем не помогает?
Впервые он ней слышу, спасибо.

Картинка с другого сайта. Jah loves you.
1 окт 09, 17:18    [7731114]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать результат динамического запроса в хп?  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Antonariy
В таблице содержатся настройки для нескольких типов объектов:
ID, SetupCode, obj1ID, obj2ID, … objNID, value

Нужно проверить, существует ли настройка для конкретного объекта, если есть, то обновить, если нет, то добавить.
Ничего не понял
Допустим, вы создали необходимый код

Шаг 1: таблица пустая
Шаг 2: Выполняем Ваш код для obj1ID == 1; SetupCode == 1; value = 1
(по критерию obj1ID == 1 ничего не нашлось, и добавилась новая строка)

Шаг 3: Выполняем Ваш код для obj2ID == 2; SetupCode == 1; value = 1
(по критерию obj2ID == 2 ничего не нашлось, и добавилась новая строка)

Шаг 4: Выполняем Ваш код для obj3ID == 3; SetupCode == 1; value = 1
(по критерию obj3ID == 3 ничего не нашлось, и добавилась новая строка)

Результат:
ID SetupCode obj1ID obj2ID obj3ID value
111nullnull1
21null2null1
31nullnull31

Вопрос: это нормально, так и должно быть?

Может лучше пусть как-то получится вот так:
ID SetupCode obj1ID obj2ID obj3ID value
111231
1 окт 09, 17:40    [7731241]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать результат динамического запроса в хп?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72911
Паганель, вы все поняли правильно, все работает так, как в первой таблице, @@rowcount помог. Как во второй таблице не лучше потому что не имеет смысла — под одним кодом у разных объектов могут быть разные Value.

Возник следующий вопрос: можно ли вернуть из динамического запроса конкретное значение?

Картинка с другого сайта. Jah loves you.
2 окт 09, 13:48    [7734985]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать результат динамического запроса в хп?  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Antonariy,

здесь
2 окт 09, 13:53    [7735044]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать результат динамического запроса в хп?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72911
Спасибо.

Картинка с другого сайта. Jah loves you.
2 окт 09, 13:58    [7735100]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить