【Tips】使用SQL生成SQL技巧備份表資料

secooler發表於2010-03-12
關於“SQL生成SQL”技巧曾經介紹過兩次,參考下面的文章。
《【Tips】使用SQL生成外來鍵的SQL建立語句》
http://space.itpub.net/519536/viewspace-625455
《【轉義】使用SQL生成SQL語句時單引號的轉義處理》
http://space.itpub.net/519536/viewspace-628186

今天使用這個小技術完成表的“備份”,這裡的“備份”含義是指根據表的內容生成表的插入語句。

1.建立測試表T,並初始化幾條資料
sec@ora10g> create table t (x int, y varchar2(10));
sec@ora10g> insert into t values (1,'HOU');
sec@ora10g> insert into t values (2,'SEC');
sec@ora10g> insert into t values (3,'ANDY');
sec@ora10g> insert into t values (4,'Good');
sec@ora10g> insert into t values (5,'Luck');
sec@ora10g> commit;

2.T表內容如下
sec@ora10g> select * from t;

         X Y
---------- ----------
         1 HOU
         2 SEC
         3 ANDY
         4 Good
         5 Luck

3.簡單拼接之後,效果顯然。
sec@ora10g> select 'insert into t values (' ||x||','''||y||''');' as "Insert Statements" from t;

Insert Statements
--------------------------------------------------------
insert into t values (1,'HOU');
insert into t values (2,'SEC');
insert into t values (3,'ANDY');
insert into t values (4,'Good');
insert into t values (5,'Luck');

4.小結
“SQL生成SQL”是一個非常實用的小技巧。簡單給自己構造一個場景,深入其中體會一番。

Good luck.

secooler
10.03.12

-- The End --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-629382/,如需轉載,請註明出處,否則將追究法律責任。

相關文章