2017-10-25

Use T-SQL to generate SQL Server scripts for INSERT, UPDATE, DELETE


SSMS 工具內建 [產生和發佈指令碼精靈] Generate and Publish Scripts Wizard 精靈,可以:

  • 為多個物件建立 Transact-SQL 指令碼。 此精靈會產生資料庫中所有物件的指令碼,或是您所選取之物件子集的指令碼。
  • 此精靈具有許多適用於指令碼的選項,例如是否要包含權限、定序及條件約束等。

例如:將資料表的資料,產生成逐筆的 INSERT 陳述式。

以下示範使用 T-SQL 將資料表的資料,產生為逐筆的 INSERT, UPDATE, DELETE 陳述式。

範本

SELECT '要執行的 INSERT, UPDATE, DELETE 的 指令碼' + [資料行名稱1]... FROM [資料表名稱]




更新

使用 IIF() 邏輯函數 或 CASE() 運算式 來處理 NULL 值問題。

  • Use T-SQL to generate SQL Server scripts and NULL value for INSERT, UPDATE, DELETE

http://sharedderrick.blogspot.tw/2018/04/use-t-sql-to-generate-sql-server.html




請參考以下範例:

-- 01_ 檢視資料



產生成逐筆的 UPDATE 陳述式

-- 02_Generate Scripts for UPDATE



-- 03_Error_UPDATE



產生成逐筆的 DELETE 陳述式

-- 04_Generate Scripts for DELETE



-- 05_Error_DELETE



產生成逐筆的 INSERT 陳述式

-- 06_Generate Scripts for INSERT



-- 07_Testing for INSERT




範例程式碼

20171024_Use T-SQL to generate SQL Server scripts for INSERT

https://drive.google.com/drive/folders/0B9PQZW3M2F40Mlhnams5ZUVqZlk?usp=sharing




參考資料

將資料表的資料,產生成 Insert 陳述式:使用 SQL Server Management Studio 2008 指令碼精靈
http://sharedderrick.blogspot.tw/2009/03/insert-sql-server-management-studio.html

產生指令碼 (SQL Server Management Studio)
https://docs.microsoft.com/zh-tw/sql/relational-databases/scripting/generate-scripts-sql-server-management-studio

[產生和發佈指令碼精靈] Generate and Publish Scripts Wizard
https://docs.microsoft.com/zh-tw/sql/relational-databases/scripting/generate-and-publish-scripts-wizard

沒有留言:

張貼留言