DECLARE @RC int
DECLARE @withDate varchar(3)
DECLARE @head varchar(2)
DECLARE @Snum varchar(12)-- TODO: 在此处设置参数值。
set @withDate='++'
set @head='I'
EXECUTE @RC = [J110933].[dbo].[j110933p_GetSerialNumber] 
   @withDate
  ,@head
  ,@Snum OUTPUTselect @Snum--------------------
(1 行受影响)
消息 201,级别 16,状态 4,过程 j110933p_GetSerialNumber,第 0 行
过程或函数 'j110933p_GetSerialNumber' 需要参数 '@withDate',但未提供该参数。(1 行受影响)之前都好好的,alter了一下存储过程就变这样了.明明有提供参数但提示无参数,实际存储过程也都有执行并且"无错误"不知道为什么会这样==================
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[j110933p_GetSerialNumber]
@withDate varchar(3),--流水号是否带日期信息 是:'++' 否:'+'
@head varchar(2),--参数头
@Snum varchar(12) output --输出组合流水号
asbegin try
begin tran There
declare @SerialNumber varchar(12)
--begin 创建更新流水表
if(@withDate='++')
begin
if not exists(select * from j110933t_SerialNumber
where Shead=@head and datediff(day,sTime,getdate())=0)
begin
insert into j110933t_SerialNumber values(
@head
,right(convert(varchar(4),year(getdate())),2)+replicate('0',2-len(month(getdate())))+convert(varchar(2),month(getdate()))
,0
,getdate()
)
end
else
begin
update j110933t_SerialNumber
set Snumber=Snumber+1
where Shead=@head and Sdate=
right(convert(varchar(4),year(getdate())),2)+replicate('0',2-len(month(getdate())))+convert(varchar(2),month(getdate()))
end
end
else
begin
if not exists(select * from j110933t_SerialNumber where Shead=@head )
begin
insert into j110933t_SerialNumber values(
@head
,right(convert(varchar(4),year(getdate())),2)+replicate('0',2-len(month(getdate())))+convert(varchar(2),month(getdate()))
,0
,getdate()
)
end
else
begin
update j110933t_SerialNumber
set Snumber=Snumber+1
where Shead=@head 
end
end
--end 创建更新流水表--begin 流水号组成
if(@withDate='++')--三字段组合
begin
select @SerialNumber=Shead+Sdate+replicate('0',6-len(Snumber))+convert(varchar(6),Snumber)
from j110933t_SerialNumber
where Shead=@head and Sdate=
right(convert(varchar(4),year(getdate())),2)+replicate('0',2-len(month(getdate())))+convert(varchar(2),month(getdate()))
end
else--两字段组合
begin
select @SerialNumber=Shead+replicate('0',6-len(Snumber))+convert(varchar(6),Snumber)
from j110933t_SerialNumber
where Shead=@head and Sdate=
right(convert(varchar(4),year(getdate())),2)+replicate('0',2-len(month(getdate())))+convert(varchar(2),month(getdate()))
end
--end 流水号组成
set @Snum=@SerialNumber
--select @SerialNumber
commit tran Thereend trybegin catch
rollback tran There
end catchexec dbo.j110933p_GetSerialNumber