zoukankan      html  css  js  c++  java
  • Oracle 拼接 INSERT 语句 结合 java 获取id

    创建序列

    create sequence A_squence
      minvalue 1 --最小值
      nomaxvalue --不设置最大值(由机器决定),或 根据表字段的值范围设置 maxvalue
      maxvalue 999999999 -- 最大值
      start with 1 --从1开始计数,数值可变
      increment by 1 --每次加1,数值可变
      nocycle --一直累加,不循环;cycle:达到最大值后,将从头开始累加
      nocache; --不建缓冲区。
    -- 如果建立cache那么系统将自动读取cache值个seq,这样会加快运行速度;
    -- 如果在单机中使用cache,或者oracle死了,那么下次读取的seq值将不连贯,所以不建议使用cache。

    -- 创建序列
    --创建序列
    create sequence A_SEQ
      minvalue 1111
      maxvalue 999999999999
      start with 1111
      increment by 1;
    
    commit;
    
    

    INSERT 插入语句

    -- INSERT
    SELECT 'INSERT INTO ' || 'a' || '(' || wm_concat(T.COLUMN_NAME) || ')' || ' values(' ||
           wm_concat('#{' || T.COLUMN_NAME || '.' || T.data_type || '}') || '})'
    FROM USER_TAB_COLUMNS T
    WHERE T.TABLE_NAME = 'A';
    oracle 字段替换 
    --
    VARCHAR2 = VARCHAR -- NUMBER = NUMERIC
    自动生成序列id
    @Insert(" INSERT INTO A(ID,ZT,STATUS,CJR,CJSJ,CZR,CZSJ) " +
                "values(A_SEQ.nextval," +
                "#{zt,jdbcType=VARCHAR},#{status,jdbcType=NUMERIC},#{cjr,jdbcType=VARCHAR}," +
                "#{cjsj,jdbcType=DATE},#{czr,jdbcType=VARCHAR},#{czsj,jdbcType=DATE})")
        @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "ID")
        int insertA(A entity);

    xml 中 if 

    SELECT wm_concat(
             '<if test="' || T.COLUMN_NAME || ' != null and ' || T.COLUMN_NAME || ' != ''''">' || T.COLUMN_NAME || ',</if>')
    FROM USER_TAB_COLUMNS T
    WHERE T.TABLE_NAME = 'A';
    SELECT wm_concat(T.COLUMN_NAME)
    FROM USER_TAB_COLUMNS T
    WHERE T.TABLE_NAME = 'A';
  • 相关阅读:
    Javascript里的那些距离们
    Javascript Date类常用方法详解
    JQuery学习笔记
    淘宝、百度、网易、搜狐前端开发面试题集锦 及 答案 【陈旧,不宜再看】
    javascript 注意事项
    jQuery对象和javascript对象互换
    那些 Android 程序员必会的视图优化策略
    那些 Android 程序员必会的视图优化策略
    mysql explain用法
    Laravel如何与App交互(针对get与post)
  • 原文地址:https://www.cnblogs.com/Seven-cjy/p/12172003.html
Copyright © 2011-2022 走看看