Oracle存储过程中单引号,双引号字符串处理

常用字符串拼接引号处理:

'abcdef'     ---------------------------------输出:abcdef
 'aaa''abcdef''bbb' ---------------------输出:aaa'abcdef'bbb
'abcdef'||'---mmmmm'  ---------------输出:abcdef---mmmmm
'abcde'''||变量值||'''' ------------------输出:abcde'变量'

例子:

注意:sql语句末尾不要带分号
(1)案例一:创建表空间sql语句:
输出:create tablespace test4 datafile ‘/home/oracle/oradata/orcl/test4.dbf’
size 1m autoextend on next 5m maxsize unlimited;

v_partition_ddl:='create tablespace '||v_tablespace_name||' datafile '||''
'/home/oracle/oradata/orcl/'||v_tablespace_name||'.dbf'||''' '||' 
size 1m autoextend on next 5m maxsize unlimited;';

(2)案例2:insert语句:

v_insert_data_sql := 'INSERT INTO ' || v_insert_table_name || '("ID", "USER_ID",
 "CERT_NO", "CERT_NOTAFTER_TIME", "REMARK", "STATUS",  "CREATE_TIME") 
values('''||ID||''','''||USER_ID||''','''||CERT_NO||''','''||CERT_NOTAFTER_TIME
||''','''||REMARK||''','''||STATUS||''','''||CREATE_TIME||''')';

(3)案例3:查询语句(查找索引)

v_sql := 'SELECT DBMS_METADATA.GET_DDL('''||CHR(73)||'NDEX'', index_name),
index_name FROM USER_INDEXES WHERE table_name = '''||v_base_table_name_upper||''' 
AND UNIQUEness = ''NONUNIQUE''';

猜你喜欢

转载自blog.csdn.net/qq_38425803/article/details/107823508