繁体   English   中英

SQL Server交易过程

[英]SQL Server Transaction procedure

我正在创建一个交易程序。 我的第一个if语句第一个if语句显示“ expecting variable”时出现语法错误,其他所有内容都无法正常工作,不确定为什么会遇到麻烦。\\这是代码

 Create Proc DP_Test4Transaction
    @ReorderLevel Decimal(5,0) =Null,
    @StockLevel decimal(5,0)= null,
    @StockOnOrder decimal(5,0) =null

 as
Declare @PartDescription Varchar (10)= NULL,

  //Here is where i am getting the error
If @ReorderLevel IS NULL
begin
Print 'You must enter a number for ReorderLevel' 
Print 'Order Not Processed'
print ' '
return
end


If @StockLevel is Null 
Begin
print 'A number must be entered for stocklevel'
print 'Order Not Processed'
Print ''
Return
End

If @StockOnOrder is null

Begin
Print 'A number must be entered for StockOnOrder'
Print 'Customer not inserted'
Print ''
Return
End


Begin Transaction
Insert into InventoryPart
(PartDescription,ReorderLevel,StockLevel,StockOnOrder)
Values(@PartDescription,@ReorderLevel, @StockLevel, @StockOnOrder)

Select @PartDescription = (Select Partdescription From InventoryPart
Where @PartDescription = PartDescription)

If exists (Select PartDescription from InventoryPart where Partdescription = @PartDescription)
Begin
Print ' The PartDescription'+ @PartDescription+'is already in the database'
print ' you must select a different Partdescription'
Print ' Item not inserted'
print ''
Rollback

end
else

begin
Commit Transaction
print 'Part has been added'
print ''
print ''
End

您可能不需要整个代码,以防万一我错过了某个地方

看起来您的声明语句后需要删除一个错误的逗号。

Declare @PartDescription Varchar (10)= NULL,

摆脱逗号,然后尝试再次解析TSQL。

Declare @PartDescription Varchar (10)= NULL,

似乎是语法错误。

养成用;结束完整代码行(句子)的习惯。

将来可能需要这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM