存储过程的返回值不能超过256,请教有什么办法加长

我写了一个存储过程

CREATE PROCEDURE [dbo].[p]
@lcPdctno char(9),
@lcErrMsg varchar(8000) output AS

select @lcErrMsg=''
......
select @lcErrMsg=.....


发现其返回的结果超过了256后余下的就不返回,请教大家有什么好办法解决。谢谢!

作者: fionazou   发布时间: 2011-06-16

SQL code
CREATE PROCEDURE [dbo].[p]
@lcPdctno char(9),
@lcErrMsg text(8000) output AS

select @lcErrMsg=''
......
select @lcErrMsg=.....

作者: xuam   发布时间: 2011-06-16

存储过程的值不能超过256?

作者: chuanzhang5687   发布时间: 2011-06-16

是你显示的问题吧
设一下

作者: playwarcraft   发布时间: 2011-06-16

sybase直连有这种情况,换一种连接方式就行了,你试试ODBC连一下

作者: xuam   发布时间: 2011-06-16

引用 1 楼 xuam 的回复:
SQL code

CREATE PROCEDURE [dbo].[p]
@lcPdctno char(9),
@lcErrMsg text(8000) output AS

select @lcErrMsg=''
......
select @lcErrMsg=.....

使用TEXT也是不行的。

作者: fionazou   发布时间: 2011-06-16

引用 5 楼 fionazou 的回复:
引用 1 楼 xuam 的回复:
SQL code

CREATE PROCEDURE [dbo].[p]
@lcPdctno char(9),
@lcErrMsg text(8000) output AS

select @lcErrMsg=''
......
select @lcErrMsg=.....

使用TEXT也是不行的。
因为我要串一些字符,例如

@lcErrMsg=cast(@lcErrMsg as varchar(8000))+'出错,需继续检查'

作者: fionazou   发布时间: 2011-06-16