【发布时间】:2013-05-14 08:42:54
【问题描述】:
我是存储过程的新手。
我写了以下存储过程:
create proc sp_TaxBrock
as
BEGIN
Declare @intTax int,@intBrockrage int,@sum int
set @intTax = (select Tax from partyRegister where partyCode = '0L036')
set @intBrockrage = (select brockrage from partyRegister where partyCode = '0L036')
set @sum = @intTax+@intBrockrage
select @sum
print @sum
/*print @intTax+@intBrockrage;*/
go
导致此错误:
消息 102,级别 15,状态 1,程序 sp_TaxBrock,第 12 行
'@sum' 附近的语法不正确。
无法找出错误所在。
我尝试在不同位置添加分号 (;),但错误仍然相同。
请帮帮我。
【问题讨论】:
-
旁注:您应该不为您的存储过程使用
sp_前缀。微软有reserved that prefix for its own use (see Naming Stored Procedures),你确实会在未来某个时候冒着名称冲突的风险。 It's also bad for your stored procedure performance。最好只是简单地避免sp_并使用其他东西作为前缀 - 或者根本不使用前缀! -
另外:这个分配:
set @intTax = (select Tax from partyRegister where partyCode = '0L036')可以写成更简单的select @intTax = Tax from partyRegister where partyCode = '0L036',如果你可以确定只有一行会匹配这个条件 -
@marc_s 是的,谢谢,我会记住这些事情。谢谢。
标签: sql sql-server sql-server-2005 stored-procedures