首页 > 数据库技术 > 详细

DB2常用sql命令

时间:2016-09-18 11:54:20      阅读:255      评论:0      收藏:0      [点我收藏+]

DB2 清除数据库序列缓存

 alter sequence wfr.wfr_bill_histories_s  nocache;

创建清空所有表数据脚本
select ‘alter table ‘||RTRIM(TABSCHEMA)||‘.‘||TABNAME||‘ activate not logged initially with empty table;‘ from syscat.tables where type = ‘T‘ AND TABSCHEMA not in (‘SYSIBM  ‘,‘SYSTOOLS‘);
生成删除所有外键的语句

SELECT 
    ‘ALTER TABLE ‘||tabschema||‘.‘|| SUBSTR(TABNAME,1,50)|| 
    ‘ DROP FOREIGN KEY ‘ || CONSTNAME || ‘;‘ 
FROM 
    SYSCAT.REFERENCES 
;
 
 产生生成所有外键的SQL语句
SELECT 
    ‘ALTER TABLE ‘||tabschema||‘.‘|| SUBSTR(TABNAME,1,50)||
    ‘ADD CONSTRAINT ‘ || CONSTNAME||
    ‘FOREIGN KEY (‘ || substr(FK_COLNAMES,1,50) || ‘)‘||
    ‘REFERENCES ‘||tabschema||‘.‘ || SUBSTR(REFTABNAME,1,17)||  
    ‘ ON DELETE ‘ || 
        case deleterule
          when ‘A‘ then ‘NO ACTION‘ 
          when ‘C‘ then ‘CASCADE‘ 
          when ‘N‘ then ‘SET NULL‘ 
          when ‘R‘ then ‘RESTRICT‘
        end || 
    ‘ ON UPDATE ‘ || 
        case updaterule
          when ‘A‘ then ‘NO ACTION‘ 
          when ‘R‘ then ‘RESTRICT‘
        end 
        ||‘;‘
    FROM 
        SYSCAT.REFERENCES 
;
产生删除所有表的SQL语句

select ‘DROP TABLE ‘||rtrim(tabschema)||‘.‘||t.TABNAME||‘ ;‘
from syscat.TABLES t 
where tabschema like ‘%CMBBCD%‘ and t.TYPE=‘T‘
 
DB2查询序列的三种方式
1.
select nextval for seqName from dual
2.
select next value for seqName from dual
3.
select seqName.nextval from dual
 

DB2常用sql命令

原文:http://www.cnblogs.com/dingjiaoyang/p/5880948.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!