我需要運行在一個報告配置表,並輸出結果作爲.csv或.xls文件的所需文件夾與文件名保存的SQL腳本這也在報告配置表中指定。內的表/串並輸出結果運行SQL腳本到文件
表中的一個例子是按照下文用柱A是要創建的所需的文件名和列B包含將被執行的腳本的腳本。
理想我需要一個腳本,我可以拖放到一個存儲過程將運行倒在桌子和出口各行和各創建結果行作爲一個想要的文件夾一個單獨的文件。
我認爲它需要一個遞歸查詢,但我真的不知道從哪裏開始,任何建議或幫助是極大的讚賞。
編輯:所以有人建議我使用SSIS,這可以與現有的工具箱項完成或我需要編寫一個腳本來做到這一點?表中有數百個SQL腳本,因此效率是關鍵!
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Test_Table_PS](
[File_Name] [nvarchar](100) NULL,
[Script_To_Run] [nvarchar](100) NULL
) ON [PRIMARY]
GO
INSERT [dbo].[Test_Table_PS] ([File_Name], [Script_To_Run])
VALUES (N'Report_1', N'Select * FROM FRED')
GO
INSERT [dbo].[Test_Table_PS] ([File_Name], [Script_To_Run])
VALUES (N'Report_2', N'Select * FROM BOB')
GO
INSERT [dbo].[Test_Table_PS] ([File_Name], [Script_To_Run])
VALUES (N'Report_3', N'Select * FROM DAVE')
GO
你應該嘗試使用SSIS。 – Abhishek
@Abhishek這可能是一個好主意!雖然是否可以使用可用的工具箱項目循環遍歷表中的行,或者是否需要腳本化? – ASindleMouat
只有通過腳本任務纔有可能。因爲我覺得你提供的查詢會產生不同數據類型的可變數量的列,所以在這種情況下,將不可能使它們在「Data Flow Task」和「Excel Destination」中工作。如果他們導致相同數量的列的數據類型相同,那麼我想這將是可能的,只要我們在'source' -destination'映射中設置'column'即可。 – Abhishek