我的现有存储过程现在需要在我的VB控制台应用程序中用作内联SQL语句。我该如何更改?
存储过程:
:Setvar CUSTOMDBNAME "My_DB"
USE [$(CUSTOMDBNAME)]
GO
DECLARE @TranName Varchar(25)
Declare @TranCounter Int
Set @TranName = 'MyTransaction';
Set @TranCounter = @@Trancount;
BEGIN TRANSACTION @TranName;
BEGIN Try
UPDATE tbl.FileUpload
SET UserCreate= 1
WHERE ID = 10
IF @TranCounter=0
COMMIT TRANSACTION @TranName;
END Try
BEGIN Catch
IF @TranCounter = 0
Rollback Transaction;
ELSE
IF XACT_STATE() <> -1
Rollback Transaction @TranName;
END Catch
GO
答案 0 :(得分:0)
您可以通过查询sys.syscomments
视图来访问SQL Server存储过程的文本。从那里你可以提取文本并用它做任何你想做的事情。
MSDN上Viewing Stored Procedures提供了有关如何访问与存储过程的不同方面相关的数据的大量文档。它解释了如何:
似乎使用这些数据源,您将能够获得所需的数据,其余工作是特定于实现的。
此外,这篇文章演示了查询SPROC文本的用例:http://blog.sqlauthority.com/2007/09/03/sql-server-2005-search-stored-procedure-code-search-stored-procedure-text/。