• oracle多单号的说明


    在ORACLE中,单引号有两个作用,一是字符串是由单引号引用,二是转义。单引号的使用是就近配对,即就近原则。而在单引号充当转义角色时相对不好理解

    1、从第二个单引号开始被视为转义符,如果第二个单引号后面还有单引号(哪怕只有一个)。      
    select '''' from dual     ----output:'
     解释:第二个单引号被作为转义符,第三个单引号被转义,可将sql写成这样更好理解:
    select ' '' ' from dual ----output:'

    2、连接符‘||’导致了新一轮的转义:连接符号‘||’左右的单引号没有任何的关系,除非‘||’是作为字符串的一部分(这在动态SQL中很常见)。
    select 'name'||'''' from dual ----output:name' 
    理解:||后面的作为一个字符串,即前后是',中间又是一个密集型单引号串'',因此第一个为转义功能
    select 'name''''' from dual ----output:name''
    理解:第一个和最后一个单引号作为字符串引用符,中间四个单引号两两转义  

    例子:

    select 'insert into wt_shipmentproduct (WT_SHIPMENTPRODUCT_ID, AD_CLIENT_ID, AD_ORG_ID, ISACTIVE, CREATED, CREATEDBY, UPDATED, UPDATEDBY, M_PRODUCT_ID, WT_OWMS_SHIPMENT_ID, WT_OFC_ID, QTY, CONFIRMQTY, NAME)' ||
    'values (wt_shipmentproduct_seq.nextval, 11, 50000, ''Y'', sysdate, 1000180, sysdate, 1002382, (select M_PRODUCT_ID from M_PRODUCT p where p.sku = ''' ||
    m.sku ||
    '''), (select WT_OWMS_SHIPMENT_id from WT_OWMS_SHIPMENT s where s.documentno = ''' ||
    m.documentno ||
    '''),(select wt_ofc_id from WT_OWMS_SHIPMENT where documentno=''' ||
    m.documentno || '''), ' || m.qtyproduct || ', 0, ''' || m.name ||
    ''');'

    ,
    m.qtyproduct
    from adempiere.wv_owms_arrivalnoticeproduct m
    where m.documentno in ('1000768')

  • 相关阅读:
    JavaWeb开发小结
    第一个Maven案例Hello Maven
    数据字典 dba_free_space及相对文件号RELATIVE_FNO 小结
    执行计划
    五分钟搞死一台服务器
    RAC 移动 OCR
    使用DBMS_STATS来收集统计信息【转】
    关于Freelists和Freelist Groups的研究【转】
    [转]Oracle中INITRANS和MAXTRANS参数
    linux套件安装过程中configure,make,make install的作用
  • 原文地址:https://www.cnblogs.com/working/p/3916651.html
Copyright © 2020-2023  润新知