各位高手们,帮我看下这个存储过程有什么问题!

lracky 2003-10-31 07:08:03
use Northwind
go
create procedure SetEmployees1
@Employees varchar(10) output,
@LastName varchar(10),
@FirstName varchar(10)
As


set @Employees=Rtrim(cast(@LastName as varchar(10))) + convert(char(8),getdate(),112) + RTrim(cast(@FirstName as varchar(10)))
go

为什么RTim(cast(@FirstName as varchar(10))的内容不能显示出来啊?
例:我测试时输入LastName=aaa;FirstName=bbb;返回的结果只是@Employee=aaa20031031啊?按理应该是@Employee=aaa20031031bbb啊?
为什么?请教各位高手!
...全文
34 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-10-31
  • 打赏
  • 举报
回复
输出参数的长度问题.

你只定义了10位,当然只能输出10位.
sheyu8 2003-10-31
  • 打赏
  • 举报
回复
把 @Employees 大小改大点就可以咯 varchar(15) output,
txlicenhe 2003-10-31
  • 打赏
  • 举报
回复
declare @a varchar(20)
exec SetEmployees1 @a output,'aaa','bbb'
select @a


--------------------
aaa20031031bbb

(所影响的行数为 1 行)

txlicenhe 2003-10-31
  • 打赏
  • 举报
回复
use Northwind
go
create procedure SetEmployees1
@Employees varchar(20) output, -- 你原来设定的宽度不够
@LastName varchar(10),
@FirstName varchar(10)
As


set @Employees=Rtrim(cast(@LastName as varchar(10))) + convert(char(8),getdate(),112) + RTrim(cast(@FirstName as varchar(10)))
go

34,664

社区成员

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

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