zoukankan      html  css  js  c++  java
  • oracle 查询判断语句

    1.查询表是否存在,如果不存在,就添加

    select count(*)
        into v_count
        from user_all_tables
       where table_name = 'A';
      if v_count = 0 then
        execute immediate 'create table A(ID NUMBER not null';
      end If;

    2.查询表的主键是否存在,不存在就添加主键

    select count(*)
        into v_count
        from user_cons_columns a
       where a.constraint_name = 'PK_A'
         and a.table_name = 'A;
      if v_count = 0 then
        execute immediate 'alter table A
                            add constraint PK_A primary key (ID)
                            using index
                            tablespace DAAN_DATA
                            pctfree 10
                            initrans 2
                            maxtrans 255
                            storage
                            (
                              initial 64K
                              minextents 1
                              maxextents unlimited
                            )';
      end if;

    3.查询表的序列是否存在,不存在的话,添加

    select count(*)
        into v_count
        from user_sequences
       where sequence_name = 'SEQ_A_ID';
      if v_count = 0 then
        execute immediate 'create sequence SEQ_A_ID
                minvalue 1 maxvalue 9999999999999999 start with 61 increment by 1 cache 20';
      end if;

    4.判断表是否存在该字段,不存在的话,就添加

    select COUNT(*)
        into v_count
        from user_tab_columns
       where table_name = 'A'
         and column_name = 'CREATE_TIME';
      if v_count = 0 then
        execute immediate 'alter table A add(CREATE_TIME DATE default SYSDATE not null)';
      end if;

    5.判断表是否存在该条数据,如果不存在,就添加,存在,就修改

    merge into A a
      using (select count(*) num from A where id = 1) c
      on (c.num <> 0)

      WHEN MATCHED THEN

      update set a.id=2 where a.id=1
      WHEN not MATCHED THEN
        insert
          (id)
        values
          (1);
      commit;

  • 相关阅读:
    js/Jquery table 内部控件计算和tr的生成
    反射 实体类的赋值/取值问题
    C#读取Excel 几种方法的体会
    水晶报表升级遇到的问题
    使用异或位运算符实现交换两个整数详解
    美国宇航局两万兆数据存储方案下载
    Flash全屏(转载)
    Unity3D实现动态加载游戏资源
    C#,ASP.NET jquery uploadify上传控件中文乱码解决办法
    HTML通过button触发inputfile控件上传文件的问题
  • 原文地址:https://www.cnblogs.com/tangjianglan/p/2693606.html
Copyright © 2011-2022 走看看