【发布时间】:2014-11-14 10:05:15
【问题描述】:
我是 SQL Sever 的新手,我正在尝试在事务中创建一个过程,如下所示:
BEGIN TRY
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
BEGIN TRANSACTION MyTran
--*****************************************************************************
USE [Database]
Create PROCEDURE [dbo].[SP_StoreProcedure] AS
--Some SQL Queries here
Go
Commit TRANSACTION MyTran
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION ;
END CATCH;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
但是我得到了这些错误:
消息 156,第 15 级,状态 1,第 9 行
关键字“PROCEDURE”附近的语法不正确。消息 102,第 15 级,状态 1,第 5 行
'BEGIN' 附近的语法不正确。消息 102,第 15 级,状态 1,第 14 行
'END' 附近的语法不正确。
如果这不能在 SQL Server 中完成,有什么解决方法?
【问题讨论】:
-
旁注:您应该不为您的存储过程使用
sp_前缀。微软有reserved that prefix for its own use (see Naming Stored Procedures),你确实会在未来某个时候冒着名称冲突的风险。 It's also bad for your stored procedure performance。最好只是简单地避免sp_并使用其他东西作为前缀 - 或者根本不使用前缀! -
如何创建程序??这是你的问题吗??检查此链接msdn.microsoft.com/en-us/library/ms187926.aspx
-
你不能在inside事务中创建一个过程——这甚至没有意义——你想完成什么?
-
@nineside 我有多个存储过程要创建。我希望它们都在一个事务中创建。
-
谷歌如何创建sql server存储过程。不能这样用。在发布愚蠢的问题之前,您应该先阅读文档。
标签: sql sql-server sql-server-2008 tsql