Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
Внизoutput-параметры в рекурсивных выборках Найти похожие ветки
← →
Ega23 © (2005-08-10 16:49) [0]Есть такая простенькая процедура:
if exists (select * from sysobjects where id = object_id(N"[S_TempProc]") and OBJECTPROPERTY(id, N"IsProcedure") = 1)
drop procedure [S_TempProc]
GO
CREATE PROCEDURE S_TempProc
@Count int=0,
@OutMess varchar(2000) ="" output
As
Declare @Result int;
Select @Result=@Count+1;
Select @OutMess=@OutMess+";"+Cast(@Count as varchar(3));
if @Count<5
exec @Result=S_TempProc @Count=@Result, @OutMess=@OutMess output
Return(@Result);
go
Есть такой простенький скрипт её вызова:
Declare
@ss varchar(2000)
exec S_TempProc @Count=0, @OutMess=@ss output;
select X=@ss
Почему на выходе всё время NULL???
← →
MOA © (2005-08-10 17:08) [1]Любая операция с NULL даст NULL. В том числе и
@OutMess=@OutMess+";"+Cast(@Count as varchar(3))
Т.е. при вызове параметру @OutMess нужно присвоить хотя бы пустую строку:
Declare
@ss varchar(2000)
SET @ss=""
Удачи!
← →
Ega23 © (2005-08-10 17:13) [2]Оп-па.... Как же это я так проглядел-то!!!!
Пора домой...
Спасибо!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.034 c