一个存储过程的出错问题

flyrunner 2003-09-28 10:43:29
参数:
输入工号
返回姓名
CREATE PROCEDURE [dbo].[getusers]
@eno char(11),
@username char(8) output
AS
select @username = ename from employee where eno=@eno
return @username
GO

出错信息:
服务器: 消息 245,级别 16,状态 1,过程 getusers,行 7
将 nvarchar 值 '张建 ' 转换为数据类型为 int 的列时发生语法错误。
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aierong 2003-09-28
  • 打赏
  • 举报
回复
数据类型不对

eno是int得吗

convert(int,@eno)

而@eno又是字符型得


mjhnet 2003-09-28
  • 打赏
  • 举报
回复
数据类型无法自动进行转换。

估计是eno的类型问题。
liukanghui 2003-09-28
  • 打赏
  • 举报
回复
return 只能返回整型
如需返回字符型,可以试试创建函数实现
lionstar 2003-09-28
  • 打赏
  • 举报
回复
return @username
有问题。
Return后面只能使用int类型数字
你直接Return就可以了,不要带参数。
程序中就能够读取@Username的内容了。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧