一个有关SQL Server数据库存储过程的问题,大家帮帮忙,回答正确加200分!
来源:百度知道 编辑:UC知道 时间:2024/07/08 01:17:15
问题是这样的,打开SQL Server,在查询分析器内创建如下存储过程:
create procedure aaa @param varchar(50) output
as
begin
select @param='猪八戒。'
end
然后,在查询分析器内执行如下命令:
declare @param1 varchar(50)
exec aaa @param1
print '你是'+@param1
问题是,为什么执行结果没能出现预料的打印“你是猪八戒。”好象这里@param并没有获得赋值。这是为什么?请达人给出解决办法。
问题被采纳者将获额外200积分奖励。谢谢!
create procedure aaa @param varchar(50) output
as
begin
select @param='猪八戒。'
end
然后,在查询分析器内执行如下命令:
declare @param1 varchar(50)
exec aaa @param1
print '你是'+@param1
问题是,为什么执行结果没能出现预料的打印“你是猪八戒。”好象这里@param并没有获得赋值。这是为什么?请达人给出解决办法。
问题被采纳者将获额外200积分奖励。谢谢!
create procedure aaa @param varchar(50) output
as
begin
set @param='猪八戒。'
end
--然后,在查询分析器内执行如下命令:
declare @param1 varchar(50)
exec aaa @param1 OUTPUT
print '你是'+@param1
把select 改成set,在exec 后要添加 OUTPUT
declare @param1 varchar(50)
exec aaa @param1 output
print '你是'+@param1
用set试试,select在某些版本中,不能用于赋值