zoukankan      html  css  js  c++  java
  • db2常用语句

    导出ddl
     db2look -d  CESHI1 -e -o db.sql -i db2inst1 -w Coqais011
     db2look -d  GFL -e -o E:db.sql -i db2admin -w 123
    系统存储过程
    QueryInfo info = new QueryInfo();
                                info.NamedQuery = "SYSPROC.ADMIN_CMD";
                                info.Parameters.Add("PR_SQL", "reorg table " + tableName);
                                Dao.ExecuteNonQuery(info);
    
    备份
    db2 BACKUP DATABASE dbname
    恢复
    db2 RESTORE DATABASE dbname
    a.服务端安装
    b.客户端安装
    1.建数据库
    create database HRA_GF 
    2.建信道
    catalog tcpip node gf remote 192.168.2.252 server 50000
    3.1 别名
    catalog database HRA_GF as hServer at node gf
    3.2 数据库挂在信道上
    catalog database HRA_GF at node gf
    3.3 terminate 刷新
    3.4 db2
    4.连接数据库
    connect to HRA_GF user db2admin using Hhgf2017
    5.删除节点
    uncatalog node gf
    
    6. 获取序列下一个值
         select nextval for BAS_MODULE_SEQ  from sysibm.sysdummy1
    7.创建函数结合序列值获取
       
      7.1 CREATE function BAS_SEQ ()
                RETURNS BIGINT
                LANGUAGE SQL
                CONTAINS SQL
                NO EXTERNAL ACTION
                DETERMINISTIC
                BEGIN ATOMIC
                   Declare cd BIGINT;   --时间  
               set cd=next value for BAS_MODULE_SEQ;
                RETURN cd;  
                END ;
      7.2
    CREATE  FUNCTION GET_DISCOUNT_FACTOR
    (
        v_compute_date  date,
        v_reference_date  date,
        v_index_price_factor_id  bigint
    )
    RETURNS BIGINT
              LANGUAGE SQL
              NOT DETERMINISTIC
              READS SQL DATA
              STATIC DISPATCH
              CALLED ON NULL INPUT
              EXTERNAL ACTION
              INHERIT SPECIAL REGISTERS
                BEGIN ATOMIC
                Declare RESULT bigint;
        set  RESULT=(select count(1) 
                      from mkt_zero_rate_data
                      where compute_date = v_compute_date
                      and reference_date = v_reference_date
                      and index_price_factor_id = v_index_price_factor_id);
    
         IF RESULT=0
           then 
           RETURN 0;
           ELSE
    
             SET RESULT=(
                             select discount_factor   from mkt_zero_rate_data
                                        where compute_date = v_compute_date
                                        and reference_date = v_reference_date
                                        and index_price_factor_id = v_index_price_factor_id);
                                      
               END IF;                         
      return Result;
    END;
    
    CREATE  FUNCTION FN_GETFLOWURL(p_createUrl  varchar(255),p_nodeUrl  varchar(255),p_FormCode  varchar(255),p_FormType  varchar(255))
    RETURNS varchar(255)
              LANGUAGE SQL
              NOT DETERMINISTIC
              READS SQL DATA
              STATIC DISPATCH
              CALLED ON NULL INPUT
              EXTERNAL ACTION
              INHERIT SPECIAL REGISTERS
                BEGIN ATOMIC
                declare v_pos bigint;
                declare v_tmp bigint;
                declare v_url varchar(255);
             set  v_tmp=(select INSTR(p_nodeUrl,'.aspx') from SYSIBM.SYSDUMMY1);
    if v_tmp>0 then
     set v_url = p_nodeUrl;
    else --CreateUrl+??Url = ??Url ---??CreateUrl??Node??????(?,&)
     set v_pos=(select INSTR(p_createUrl,'Node=')  from  SYSIBM.SYSDUMMY1);
    if v_pos>0 then
     set v_url=SUBSTR(p_createUrl,1,v_pos-2);
    else
    set v_url=p_createUrl;
    end if;
    ---CreateUrl+??Url??????(?,&)
    set v_pos=(select INSTR(v_url,'?')  from  SYSIBM.SYSDUMMY1);
    if v_pos>0 then
    set v_url= v_url || '&' || p_nodeUrl;
    else
    set v_url= v_url || '?' || p_nodeUrl;
    end if;
    end if;
    
    set v_url=v_url || '&'||'FormCode=' || p_FormCode || '&'||'FormType=' || p_FormType;
    return v_url;
    end;
    8. 存储过程
    CREATE  PROCEDURE PR_INSERT(IN pr_sql  VARCHAR(550))
     LANGUAGE SQL   
     SPECIFIC set_variables  
    begin
        execute immediate  pr_sql;
    end ;
    
    9.参数化查询
           var info = new QueryInfo();
                info.CustomSQL = "select * from sys_user where user_id=?";
                info.Parameters.Add("user_id", 1002);
                var dt = Dao.ExcuteDataSet(info).Tables[0];
    10.load 
    load from c:AA20170828154805.del of del insert into aa
    
      cmd = cn.CreateCommand();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = @"load from c:AA20170828154805.del of del insert into aa";
                    int ii = cmd.ExecuteNonQuery();
    
    11.非空约束
    alter table tableName alter columnName set not null;
    12.添加主键
    alter table tableName add constraint primary key(主键id)
    13.truncate table命令
    truncate table tableName immediate;
    14.reorg table tableName
    
    
    15.db2 数据库没有足够大的临时表空间,新建一个足够大的表空间,解决问题
    create BUFFERPOOL GFPOOL  SIZE 500 PAGESIZE 32K;
    CREATE TEMPORARY TABLESPACE TEMP PAGESIZE 32K MANAGED BY DATABASE USING
    (
    FILE 'STEALTH2/TEMP02' 128000
    ) EXTENTSIZE 80 bufferpool GFPOOL;
    
    16.db2分页语法
    
     
     select * from
     (select t.*,rownumber() over (order by id asc) as rowid from sys_office t) a
     where a.rowid>=1 and a.rowid<=3;
     
    
    17. 不记录日志清空表
    alter table TRAN_STRUCTURE activate not logged initially with empty table;
    
    18.查看表id和表空间
    select * from syscat.tables where tableid=3852
    
    19.日志设置
    update db cfg for ceshi1 using LOGFILSIZ 125000 
    20 查看表空间的使用情况
     a.创建表空间
     CREATE TEMPORARY TABLESPACE TEMP PAGESIZE 32K MANAGED BY DATABASE USING
    (
    FILE 'STEALTH2/TEMP02' 128000
    ) EXTENTSIZE 80 bufferpool GFPOOL;
     b.list tablespace containers for 1 show detail
     c.扩展表空间 alter  TABLESPACE TEMP add (file '/home/db2inst1/db2inst1/NODE0000/CESHI1/004' 500m)
    
    20.不记录事务日志
    alter table   
      TRAN_TRANSACTION
      --, RSK_BOOK_TRAN_SIMULATION, RSK_LEASE_TRAN_ADJUST, RSK_LEASE_TRANSACTOIN, RSK_TRANSACTION_LOG 
    activate not logged initially;
     
     21. 修改数据类型
    
    alter table  ETL_VERIFY_CHECK alter column IS_NOT_NULL set data type int ;
    reorg table ETL_VERIFY_CHECK;
    
    建库
    --重启数据库
    FORCE APPLICATION ALL 
    DB2STOP
    DB2START 
    
    --创建数据库
    CREATE DATABASE GFL USING CODESET UTF-8 TERRITORY US COLLATE USING SYSTEM USER TABLESPACE MANAGED BY DATABASE USING (FILE 'd:DB2dataGFLsdetbsp' 51200)
    
    CONNECT TO GFL 
    
    --创建缓冲池(使用32k的pagesize)
    create bufferpool GFPOOL size 12800 pagesize 32K
    create bufferpool GFPOOL1 size 12800 pagesize 32K
    
    --创建表空间并使用32k的pagesize和自定义的缓冲池
    CREATE REGULAR TABLESPACE regtbs PAGESIZE 32 K MANAGED BY DATABASE USING ( FILE 'D:DB2NODE0000GFL
    egtbs' 2g) bufferpool GFPOOL
    CREATE REGULAR TABLESPACE idxtbs PAGESIZE 32 K MANAGED BY DATABASE USING ( FILE 'D:DB2NODE0000GFLidxtbs' 1g) bufferpool GFPOOL
    CREATE LONG TABLESPACE lobtbs PAGESIZE 32 K MANAGED BY DATABASE USING ( FILE 'D:DB2NODE0000GFLlobtbs' 1g) bufferpool GFPOOL1
    CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 32 K MANAGED BY SYSTEM USING ('D:DB2NODE0000GFLsdespace' ) bufferpool GFPOOL1
    
    表空间自增长
     alter tablespace lobtbs autoresize yes increasesize 10240K maxsize none;
    
    --授权表空间给用户
    grant use of tablespace 
    
    --授权表空间
    GRANT USE OF TABLESPACE regtbs TO PUBLIC  
    GRANT USE OF TABLESPACE lobtbs TO PUBLIC 
    GRANT USE OF TABLESPACE idxtbs TO PUBLIC  
    GRANT USE OF TABLESPACE sdespace TO PUBLIC 
    
    COMMENT ON TABLESPACE sdespace IS '' 
    
    --优化数据库配置
    update db cfg for GFL using APPLHEAPSZ 2048
    update db cfg for GFL using APP_CTL_HEAP_SZ 2048
    update db cfg for GFL using LOGPRIMARY 10
    update db cfg for GFL using LOGFILSIZ 1000
    
    --重启数据库
    FORCE APPLICATION ALL 
    DB2STOP FORCE 
    DB2START
    
    
    --授予sde用户DBADM权限
    grant DBADM on database to user db2admin
    
    --重启数据库
    FORCE APPLICATION ALL 
    DB2STOP FORCE 
    DB2START

    3.去重

    long count = 0;
    //删除的时候,保留最老的记录
    var delsql1 = $@" delete from
    (
    select {repetColumns}, row_number() over
    (PARTITION by
    {repetColumns} order
    by
    {repetColumns}
    ) as rn from {importTable} where 1=1 {where}
    ) t1 where t1.rn > 1";
    //删除的时候,保留最新的记录

    
    

    var delsql2 = $@"DELETE from
    (
    select {repetColumns}, row_number() over
    (PARTITION by {repetColumns}
    order by {repetColumns} asc
    ) as rn from {importTable}

    ) t1 where rn<
    (

    select max(rn) from
    (
    select {repetColumns}, row_number() over
    (PARTITION by {repetColumns}
    order by {repetColumns} asc
    ) as rn from {importTable} ) t1
    )
    ";
    string sql = style == DeleteStyle.KeepNew ? delsql2 : delsql1;
    count = Dao.ExecuteNonQuery(new Framework.QueryInfo() { CustomSQL = sql });
    return count;

     
  • 相关阅读:
    vue 项目编译打包
    【Vue】基于nodejs的vue项目打包编译部署
    关于数据库设计中的状态字段
    Node.js安装及环境配置之Windows篇
    REST的本质,就是用户操作某个网络资源(具有独一无二的识别符URI),获得某种服务,也就是动词+资源(都是HTTP协议的一部分)
    微软重生:4年市值U型大逆转,超越谷歌重返巅峰!
    我在世界最热创业孵化器YC学到的58件事
    创业是否只是年轻人的专利?
    让你更值钱的方法:培养稀缺(追逐新技术,淬炼已有技能、做到出类拔萃,寻找自己所在的行业痛点,App开发者是市场动态平衡的典型)
    算法题
  • 原文地址:https://www.cnblogs.com/kexb/p/7856415.html
Copyright © 2011-2022 走看看