Sql server 在另一个存储过程完成后执行存储过程
本质上,我想在T-SQL中实现这一点 1) 执行存储过程1Sql server 在另一个存储过程完成后执行存储过程,sql-server,tsql,sql-server-2008,Sql Server,Tsql,Sql Server 2008,本质上,我想在T-SQL中实现这一点 1) 执行存储过程1 2) 完成SPROC1后,执行SPROC2 3) 完成存储过程2后,执行存储过程3 我知道这是可能的使用SSIS。如果有什么办法我可以做到这一点 谢谢试试这个: Execute SPROC1 execute SPROC2 execute SPROC3 在SPROC1完成之前,SPROC2不会运行,然后在SPROC2完成之前,SPROC3不会运行 您可以测试它: CREATE PROCEDURE pTest1 AS SELECT 1,G
2) 完成SPROC1后,执行SPROC2
3) 完成存储过程2后,执行存储过程3 我知道这是可能的使用SSIS。如果有什么办法我可以做到这一点 谢谢试试这个:
Execute SPROC1
execute SPROC2
execute SPROC3
在SPROC1完成之前,SPROC2不会运行,然后在SPROC2完成之前,SPROC3不会运行
您可以测试它:
CREATE PROCEDURE pTest1 AS
SELECT 1,GETDATE()
WAITFOR DELAY '00:00:02'
RETURN 0
go
CREATE PROCEDURE pTest2 AS
SELECT 2,GETDATE()
WAITFOR DELAY '00:00:02'
RETURN 0
go
CREATE PROCEDURE pTest3 AS
SELECT 3,GETDATE()
WAITFOR DELAY '00:00:02'
RETURN 0
go
EXEC pTest1
EXEC pTest2
EXEC pTest3
输出:
----------- -----------------------
1 2010-06-07 08:43:08.423
(1 row(s) affected)
----------- -----------------------
2 2010-06-07 08:43:10.423
(1 row(s) affected)
----------- -----------------------
3 2010-06-07 08:43:12.423
(1 row(s) affected)
对于一个DB调用,使用包装器
CREATE PROC SPROCwrapper
AS
EXEC SPROC1
EXEC SPROC2
EXEC SPROC3
GO
。。。或根据KM的回答发送3条线路
SQL是按顺序执行的