Форум: "Базы";
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];
ВнизВозврат значений из скрипта. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c