本机数据库版本为2012,执行存储过程成功,放到服务器执行(版本为2005),运行报错,代码入下:
ALTER proc [dbo].[proc_DingDan]
@newNumber varchar(18) output
as
declare @maxNumber varchar(18)
select @maxNumber=MAX(orderno) from [dbo].[Orders] where SUBSTRING(OrderNo,0,9) = convert(varchar(18),getdate(),112)
declare @time varchar(20)=SUBSTRING(replace(replace(replace(convert(varchar,getdate(),120),'-',''),' ',''),':',''),0,13)
if(@maxNumber is null)
begin
set @newNumber=@time+'000001'
end
else
begin
declare @haoma varchar(18)
set @haoma= right('00000'+Convert(varchar(6),right(@maxNumber,6)+1),6)
set @newNumber=@time+@haoma
end
print @newNumber
放服务器运行报错,错误代码如下:
消息 139,级别 15,状态 1,过程 proc_DingDan,第 0 行
不能向局部变量赋予默认值。
消息 137,级别 15,状态 2,过程 proc_DingDan,第 9 行
必须声明标量变量 "@time"。
消息 137,级别 15,状态 2,过程 proc_DingDan,第 16 行
必须声明标量变量 "@time"。
求高手相助http://ask.csdn.net/my#