Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.04;
Скачать: CL | DM;

Вниз

Возврат значений из скрипта.   Найти похожие ветки 

 
sd ©   (2002-02-06 07:47) [0]

У нас в MSSQL есть скрипт типа:
SET @Text = "SELECT MAX() FROM "+table
EXEC sp_executesql @Text


Как вернуть значение полученное таким скриптом в переменную? Пытались через переменную типа:
DECLARE @a int
SET @Text = "SELECT @res = MAX() FROM "+table
SET @Param = "@res int"
EXEC sp_executesql @Text, @Param, @res = @a


Нифига она возвращать не желает... Естественно мы ее добили через временную таблицу, но интересно, а другого пути нет?


 
Gregory   (2002-02-06 08:29) [1]

Попробуй так:


SET @Text = "SELECT MAX() FROM "+table
EXEC( @Text )


 
sd ©   (2002-02-06 08:46) [2]

Спасибо конечно, но меня интересует как полученное таким образом значение запихать в переменную? Другими словами рез-тат я получаю это факт, но как его сохранить и использовать далее?


 
Alex-A   (2002-02-06 09:52) [3]

а так попробуй:
-"-
DECLARE @RES INT
EXEC sp_executesql @Text, N"@RES INT OUT", @RES=@RES


 
TSV ©   (2002-02-06 10:22) [4]

Напиши свою хранимую процедуру с входными и выходными параметрами и все получится. :-)

Удачи.


 
dmitryK   (2002-02-06 10:45) [5]

Чисто теоретически можно попробовать сделать так (но получиться или нет я не знаю, и самому интересен результат)

в конец скрипта добавить такую строчку:

SELECT @res

и затем открыть с помощью Open

По идее, это единственная команда возвращающая набор данных в твоем скрипте, и возможно получится. В худшем случае - просто произойдет ошибка. Но как говорится попытка не пытка :)

Если рискнешь попробовать этот вариант - сообщи результаты пжлст.


 
dmitryK   (2002-02-06 11:59) [6]

Sorry, я кажется не совсем правильно понял вопрос.

если ты имел ввиду, как написать скрипт на SQL в котором необходимо с помощью одного запроса получать данные из разных таблиц, то это делается проще:

EXEC ("SELECT @res = MAX() FROM " + @table)

@table - строковая переменная, в которой находится название таблицы.
-------------------------------

но вообещ-то, хотелось бы, что бы сразу проблема была описана более четко.



Страницы: 1 вся ветка

Текущий архив: 2002.03.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
3-9056
Demon ltd
2002-02-06 14:21
2002.03.04
Показ данных из одной базы в другой


4-9328
Evgeny
2001-12-22 12:53
2002.03.04
URL


14-9287
tovSuhov
2002-01-18 15:45
2002.03.04
Установил Windows 98 ...


1-9109
GarT
2002-02-15 17:00
2002.03.04
Возникает ошибка при обращении к функции из DLL


6-9266
Artis
2001-12-12 18:46
2002.03.04
Возник такой вопрос - серверу посылается запрос на что он выдает информацию обратно как в цикле посылать запрос и переходить к следующему значению только после того как будет получен и обработан ответ???