• 批量生成sql语句,难得


    在工作我们常常要批量生成sql文件,因为业务部门经常给我们的是excel文件,根据我的经验,推荐两种批量生成sql文件方式

     1.excel批量生成sql ,sql语句如下

      INSERT INTO TableName(ID,USERNAME,MANAGERID2) VALUES('"&列名&"','"&列名&"','"&列名&"');

      但是这个里面会有问题如果是有时间类型呢 ,就会出现数字,那么怎么解决呢 ,1.首先把时间列设置文本格式,2.把生成的sql放到桌面新建的文本里面

      具体详细可见下面图片

      含时间类型sql如下,记住sql

      ="INSERT INTO TableName(m_no,m_date1,m_date_open,m_date_close) VALUES('"& A2 &"',to_date('"& B2 &"','yyyy-mm-dd'),to_date('"& C2 &"','yyyy-mm-dd'),to_date('"& D2 &"','yyyy-mm-dd'));"

      同理,update语句如下

      ="update m_store set 字段1='" & B2 & "',字段2='" & B2*1 & "' where 字段三='" & B3 & "';"

     2.第二种批量生成sql的方法

      sql生成sql语句,为什么呢,因为存在跨库的原因,如果没有link就需要,执行sql文件,主要适应的条件是跨库

      sql语句的写法如下:

    SELECT 'update ds36.occ_file set occud10 = 2 , occud12 = to_number('||''''||a2||''''||') where occ01 ='||''''||a1||''''||''||';',a3 FROM (
    SELECT nvl(EXTRACTVALUE(xmltype(fi.fieldvalues),'/CreditProcessForm/Textbox54'),EXTRACTVALUE(xmltype(fi.fieldvalues),'/CreditProcessForm/Textbox24')) a1 ,EXTRACTVALUE(xmltype(fi.fieldvalues),'/CreditProcessForm/Textbox75') a2,EXTRACTVALUE(xmltype(fi.fieldvalues),'/CreditProcessForm/SerialNumber') a3
     from ProcessInstance pi inner join ProcessContext pc on pc.containeroid=pi.oid
    inner join LocalRelevantData lrd on lrd.containeroid=pc.oid 
    inner join FormInstance fi on fi.oid=lrd.valueoid where pi.currentstate = 3 AND pi.serialnumber LIKE  '%PKG15783854472041_clone%'
    --标识符    PKG15783854472041_clone
    )

      批量生成sql语句后,只需要导出excel,sql语句,放到文本里面就会非常的方便

     3.最终我们都要执行sql文件,怎么创建sql文件呢,很简单,新建文本文件,把sql语句放进去,把后缀txt,改成.sql文件

      在plsql里面new -->Command Window 

        记得把sql文件路径拷下来,到时候执行时候@D:1.sql,回车即可执行

      

  • 相关阅读:
    Codeforces Round 718C Sasha and Array (矩阵线段树)
    Ural Timus 1009 K-based Numbers (dp+矩阵快速幂+快速乘)
    CPE常用指令
    Error opening terminal:xterm解决方法
    编译MT7620n NFS文件系统
    ubuntu中把dash链接变成bash
    USB相关
    HI3515海思开发板移植3G模块笔记
    openwrt的一些琐事
    snprintf拷贝字符串
  • 原文地址:https://www.cnblogs.com/chenzhelove/p/12655642.html
Copyright © 2020-2023  润新知