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;

  • 相关阅读:
    复制功能的实现
    SDWebImage从缓存中获取图片
    修改屏幕亮度
    使用系统的CoreLocation定位
    button设置边宽和圆角
    在日期选择轮中选择的时间转换成年龄
    字符串与数组互转
    使用ASI传递post表单..参数是数组
    点击头像单独把图片拉取出来.然后再次点击回到初始效果
    Xcode svn import项目 上传.a文件(静态库)
  • 原文地址:https://www.cnblogs.com/tangjianglan/p/2693606.html
Copyright © 2011-2022 走看看