首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

存储过程如何反回@Result结果为空

2013-04-21 
存储过程怎么反回@Result结果为空CREATE PROCEDURE 存储过程名@Result VARCHAR(8000) OUTPUTASDECLARE @id

存储过程怎么反回@Result结果为空
CREATE PROCEDURE 存储过程名
@Result VARCHAR(8000) OUTPUT
AS
DECLARE @id INT
DECLARE @Str VARCHAR(8000)

DECLARE Cur CURSOR FOR SELECT [id] FROM [表]
OPEN Cur
WHILE @@FETCH_STATUS=0
BEGIN
FETCH NEXT FROM Cur INTO @id
SET @Str=@Str+','+@id
END
CLOSE Cur
DEALLOCATE Cur

SET @Result=@Str
GO

怎么反回@Result结果为空
[解决办法]
你给@Str赋一个0,没赋初值是null
[解决办法]
CREATE PROCEDURE 存储过程名
@Result VARCHAR(8000) OUTPUT
AS
DECLARE @id INT
DECLARE @Str VARCHAR(8000)
set @Str=''
DECLARE Cur CURSOR FOR SELECT [id] FROM [表]
OPEN Cur
WHILE @@FETCH_STATUS=0
BEGIN
FETCH NEXT FROM Cur INTO @id
SET @Str=@Str+','+@id
END
CLOSE Cur
DEALLOCATE Cur

SET @Result=@Str
GO
[解决办法]
CREATE PROCEDURE 存储过程名
@Result VARCHAR(8000) OUTPUT
AS
DECLARE @id INT
DECLARE @Str VARCHAR(8000)

DECLARE Cur CURSOR FOR SELECT [id] FROM [表]
OPEN Cur
set @Str =''
FETCH NEXT FROM Cur INTO @id
WHILE @@FETCH_STATUS=0
BEGIN
FETCH NEXT FROM Cur INTO @id
SET @Str=@Str+','+@id
END
CLOSE Cur
DEALLOCATE Cur

SET @Result=@Str
GO
[解决办法]

CREATE PROCEDURE 存储过程名
@Result VARCHAR(8000) OUTPUT
AS
DECLARE @Str VARCHAR(8000)
SELECT @Str=ISNULL(@Str,',')+LTRIM([id])+',' FROM [表]

SET @Result=@Str
GO

[解决办法]
定义后先赋值,set @Str=''

热点排行