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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
2-1124097248
Прямая извилина
2005-08-15 13:14
2005.09.25
Net Send 172.16.120.3 Privet ! Kak Sam?


4-1121990214
Flood_control
2005-07-22 03:56
2005.09.25
Закрытие приложений при запуске


14-1124922608
TG
2005-08-25 02:30
2005.09.25
Delphi или Microsoft Visual C++,


9-1117216279
rll-progr
2005-05-27 21:51
2005.09.25
Создание игры


14-1125413685
Kerk
2005-08-30 18:54
2005.09.25
[Порка] Редактор диска своими руками (v1.01)