|
if exists(select name from sysobjects where name='GetRecord' and type = 'p') drop procedure GetRecord GO create procedure GetRecord @id int output, --输出p_id和p_path @path nvarchar(255) output as select top 1 @id = p_id, @path = p_path from n_project where p_flag = '0'; if(@id > 0) Update n_project set p_flag = '1' where p_id = @id else begin set @id = 0; --若没有结果则给个默认值,否则直接返回NULL会使程序错误 set @path = ' '; --若p_path为NULL,则它也会返回NULL,从而造成程序错误 end if(@path is NULL) begin set @path = ' '; end if @@error=0 print 'Good' else print 'Fail' go --测试程序 declare @idd int declare @ppath nvarchar(255) EXEC dbo.GetRecord @idd output,@ppath output select '1'=@idd, '2'=@ppath go SQL SERVER中,按CTR+0,即可输入空值NULL http://blog.csdn.net/gzq400/archive/2007/02/02/1501235.aspx
|