InsertCity
存储过程,在数据库中插入城市名称 . 成功插入后,记录完成它的人(使用 insertlog
存储过程) . 这些步骤应该是原子的 .
这是我的SQL Server代码:
ALTER PROCEDURE [paycom].[InsertCity]
(
@name nvarchar(50),
@employeeID int
)
AS
Begin Atomic
SET NOCOUNT OFF;
declare @cityID int
INSERT INTO City (CityName) VALUES (@name)
select @cityID = Scope_IDentity()
exec InsertLog @employeeID, @name, @cityID
return @cityID
End
我得到这个错误:
消息156,级别15,状态1,过程插入城市,第15行关键字“SET”附近的语法不正确 . 消息102,级别15,状态1,过程插入城市,第23行'结束'附近的语法不正确 .
有什么想法吗?
without begin atomic, it works properly!
2 回答
https://msdn.microsoft.com/eu-es/library/dn452281(v=sql.120).aspx
你的真正含义是使用transaction和正确的错误处理 .
并且不要使用RETURN返回值
我怀疑你真的想要使用内存中的OLTP等