首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储过程返回nvarchar

存储过程返回nvarchar
EN

Stack Overflow用户
提问于 2016-05-01 08:26:57
回答 1查看 2.1K关注 0票数 0

下面还有相同的代码:

代码语言:javascript
运行
复制
CREATE PROCEDURE TEST1 
    (@id INT, @name NVARCHAR(30) OUTPUT)
AS
    SELECT @name = NAME 
    FROM TEACHER 
    WHERE ID = @id;

代码语言:javascript
运行
复制
CREATE PROCEDURE TEST2(@id INT)
AS
    DECLARE @name NVARCHAR(30);

    SELECT @name = NAME 
    FROM TEACHER 
    WHERE ID = @id;

    RETURN @name;

上面的代码是可以的,但是第二次我得到一个错误:

Msg 245,16级,状态1,过程TEST2,第174号线 当将nvarchar值'Nguyễn Thanh T?ng‘转换为数据类型int时,转换失败。

你能帮我解释一下吗?

EN

回答 1

Stack Overflow用户

发布于 2016-05-01 09:42:21

不能使用varchar从Server存储过程返回-只能返回整数值。

请参阅“使用返回代码返回数据”上的MSDN文档,其中明确指出:

过程可以返回称为返回代码的整数值,以指示过程的执行状态。

通常,这样的值用于指示受存储过程影响的行数,或者用于指示错误代码。

如果需要返回字符串,则必须使用OUTPUT参数或返回结果集(使用SELECT语句)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36964629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档