SQL - 使用 SQLCMD

摘要:SQL - 使用 SQLCMD

今天 PM問:「在 Linux 裡,可以利用 Shell 的方式去呼叫一個 .sql 的檔案來執行,在 Oracle 與 MS SQL 中是否有這樣的用法呢!? 所以請你與 Ann各自去找出辦法來。」,呵呵...聽到這個我 與 Ann 當然就是找自己熟悉的來處理嚕。雖然腦袋第一個想到的就是 SQLCMD,但沒有真的實作過,還真不知道是否如自己所想的那樣。之後在 MSDN 找到了用法,當然就可以交差了,以下就來看看唄...

環境說明:
使用 SSMS 可以看到,在「DannyChang」資料庫中,有以下幾個資料表


步驟一:在 執行 中輸入 cmd 後按下 Enter


步驟二:可以先輸入 sqlcmd -? 來看看 sqlcmd 提供哪些功能


步驟三:建立一個名為「MyTableData.sql」檔案,並且將下面的查詢輸入在檔案中

Code:

USE DannyChang

Select * From dbo.MyTable;
GO

步驟四:輸入 sqlcmd -S server_name [ instance_name ]


步驟五:在 CMD 輸入以下的語法,可以查詢到相關資料


步驟六:離開 SQLCMD 模式,並且輸入以下的指令,並按下 Enter

Code:

sqlcmd -S server_name [ instance_name ] -i E:MyTableData.sql



步驟七:將資料結果輸出為 DataResult.txt,並按下 Enter 後,可以到輸出的目錄下看到檔案

Code:

sqlcmd -S server_name [ instance_name ] -i E:MyTableData.sql -o E:
DataResult.txt



步驟八:建立一個名為「執行 SQLCMD 指令.bat」的檔案,並且將以下的輸入到檔案中

Code:

sqlcmd -S server_name [ instance_name ] -i E:MyTableData.sql

PAUSE

步驟九:執行「執行 SQLCMD 指令.bat」


參考:
sqlcmd 公用程式
第 2 課:利用 sqlcmd 來執行 Transact-SQL 指令碼檔案