sql語句有一種特別的用法,相信很多人還不知道,我也是後來學到的,因此拿來跟大家分享下:產生sql指令碼
舉個例子:
select 1 from student;
如果表中有資料的話,你就會發現查詢的結果會是:
根據這個原理,我們可以用來產生sql指令碼,以下就是執行個體:
執行個體1:一個簡單的例子
select * from Popedom
select 'insert intoPopedom(id,popedom_name,popedom_value) values
('+cast(id as varchar(10))+',''' +popedom_name + ''',
''' + popedom_value+ ''')' FROM Popedom
insert intoPopedom(id,popedom_name,popedom_value) values (1,'電廠一覽', 'PRIV_ELECTINFO')
insert intoPopedom(id,popedom_name,popedom_value) values (2,'概算資訊', 'PRIV_BUDGET')
insert intoPopedom(id,popedom_name,popedom_value) values (3,'合約資訊', 'PRIV_CONTRACT')
insert intoPopedom(id,popedom_name,popedom_value) values (4,'投資資訊', 'PRIV_INVESTMENT')
insert intoPopedom(id,popedom_name,popedom_value) values (5,'進度資訊', 'PRIV_PROCESS')
insert intoPopedom(id,popedom_name,popedom_value) values (6,'安全資訊', 'PRIV_SAFETY')
insert intoPopedom(id,popedom_name,popedom_value) values (7,'日常工作分配', 'PRIV_SETUP')
insert intoPopedom(id,popedom_name,popedom_value) values (8,'日常工作瀏覽', 'PRIV_AWAKE')
insert intoPopedom(id,popedom_name,popedom_value) values (9,'日常工作錄入', 'PRIV_TASK')
insert intoPopedom(id,popedom_name,popedom_value) values (10,'提醒基本資料設定', 'PRIV_BASE')
insert intoPopedom(id,popedom_name,popedom_value) values (11,'個人資訊設定', 'PRIV_PERSON')
insert intoPopedom(id,popedom_name,popedom_value) values (12,'超級管理員', 'PRIV_ADMIN')
insert intoPopedom(id,popedom_name,popedom_value) values (13,'設計資訊', 'PRIV_DESIGN')
insert intoPopedom(id,popedom_name,popedom_value) values (14,'品質資訊', 'PRIV_QUALITY')
insert intoPopedom(id,popedom_name,popedom_value) values (15,'日常工作彙報', 'PRIV_REPORT')
insert intoPopedom(id,popedom_name,popedom_value) values (16,'日常工作審核', 'PRIV_CHECK')
insert intoPopedom(id,popedom_name,popedom_value) values (17,'電廠資訊錄入', 'PRIV_ElECTINFO')
insert intoPopedom(id,popedom_name,popedom_value) values (18,'設計資訊錄入', 'PRIV_DESIGNINFO')
執行個體2:相對複雜一點的例子
SELECT 'INSERT INTOPrevise(PreviseID,PreviseDate,PreviseInfo) VALUES
('+cast(PreviseID as varchar(10))+',''' +CONVERT(varchar(19), PreviseDate, 121) + ''',
''' + PreviseInfo + ''')' FROM PreviseWHERE PreviseID > 100