ITPub博客

首页 > 数据库 > Oracle > 【Tips】使用SQL生成SQL技巧备份表数据

【Tips】使用SQL生成SQL技巧备份表数据

原创 Oracle 作者:OCMU联盟 时间:2010-03-12 23:30:51 0 删除 编辑
关于“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博客 ” ,链接:https://blog.itpub.net/70034820/viewspace-2994216/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
OCM联盟( Oracle Certified Master Union)是由侯圣文(ACE总监)发起的一个公益组织,旨在为每一个OCM大师提供一个可以继续展示自己才华,技术和实力的平台。

注册时间:2007-05-27

  • 博文量
    799
  • 访问量
    8407028