1
從本質上講,我想這樣做在T-SQL執行SPROC
1)執行SPROC1
2)在SPROC1完成後,執行SPROC2
3)在SPROC2完成後,執行SPROC3
我知道這可以使用SSIS。如果有什麼辦法可以做到這一點?
感謝
從本質上講,我想這樣做在T-SQL執行SPROC
1)執行SPROC1
2)在SPROC1完成後,執行SPROC2
3)在SPROC2完成後,執行SPROC3
我知道這可以使用SSIS。如果有什麼辦法可以做到這一點?
感謝
試試這個:
Execute SPROC1
execute SPROC2
execute SPROC3
SPROC2不會運行,直到SPROC1完成,然後SPROC3不會運行,直到SPROC2完成。
你可以測試一下:
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
OUTPUT:
----------- -----------------------
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)
對於一個數據庫調用,使用包裝
CREATE PROC SPROCwrapper
AS
EXEC SPROC1
EXEC SPROC2
EXEC SPROC3
GO
...或發送3條線按KM的回答。
SQL按順序執行