Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как получить значение по результатам EXEC (@Command)  [new]
Andronick
Guest
Для исполнения запроса использую команду EXEC (@Command)
где @Command - переданая из клиента команда SQL
как передать в некую @id результат выполнения этого SQL
(например: select max(id) from TTT )!

спасибо за совет.
1 апр 03, 12:53    [161369]     Ответить | Цитировать Сообщить модератору
 Re: Как получить значение по результатам EXEC (@Command)  [new]
Andronick
Guest
М.б. конечно есть и другие варианты решения
только конструкция типа: set @id = EXEC (@Command)
не подходит, вот я подгрузился.
1 апр 03, 13:14    [161408]     Ответить | Цитировать Сообщить модератору
 Re: Как получить значение по результатам EXEC (@Command)  [new]
Glory
Member

Откуда:
Сообщений: 104760
FAQ
1 апр 03, 13:17    [161412]     Ответить | Цитировать Сообщить модератору
 Re: Как получить значение по результатам EXEC (@Command)  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1873

create table #Bufer (MaxID integer)
declare @ID integer
declare @sql nvarchar(100)
set @sql = 'select max(id) from TTT '
insert into #Bufer exec(@sql)
select @ID = MaxID from #Bufer
drop table #Bufer
1 апр 03, 13:33    [161441]     Ответить | Цитировать Сообщить модератору
 Re: Как получить значение по результатам EXEC (@Command)  [new]
Andronick
Guest
LexusR - Спасибо!!!
1 апр 03, 13:40    [161458]     Ответить | Цитировать Сообщить модератору
 Re: Как получить значение по результатам EXEC (@Command)  [new]
Ден
Member

Откуда: Москва
Сообщений: 2076
Может я чегото не понимаю, но чем вам не нравятся Output параметры?

create procedure dbo.xxx
@param int output
as
select @param=max(id) from t_xxx

и спокойненько получаете @param на клиенте..
1 апр 03, 13:44    [161464]     Ответить | Цитировать Сообщить модератору
 Re: Как получить значение по результатам EXEC (@Command)  [new]
Ден
Member

Откуда: Москва
Сообщений: 2076
Торможу слегка, не понял вопроса -))
1 апр 03, 13:45    [161465]     Ответить | Цитировать Сообщить модератору
 Re: Как получить значение по результатам EXEC (@Command)  [new]
Ден
Member

Откуда: Москва
Сообщений: 2076
Кстати, с точки зрения безопасности, передача строки запроса в хранимую процедуру - очень большая дыра... Передаст кто-нибудь ради прикола туда 'drop database xxx' и радуься потом.. Есть статья где то здесь, как раз описывающая ситуацию с динамическими запросами..
1 апр 03, 13:49    [161475]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить