在存储过程中利用游标取表a,然后部分字段处理后,insert到表b
表a中有个varchar2字段,某一条记录里面的一个字段里面内容为='0',然后insert时报错。
因为该字段中含有单引号,请问怎么将其放入表b中去。
='0'已经利用游标放入变量m中,insert的语句是利用动态语句实现的。
Str_Sql:='';
Execute Immediate Str_Sql;
我只知道如果是insert固定内容,一条的话,可以通过'变为''来处理,我这里动态语句里面怎么对变量来处理呢。
replace这个函数在oracle里面也只能用'啊。
谢谢个大虾了,小弟谢过先。
表a中有个varchar2字段,某一条记录里面的一个字段里面内容为='0',然后insert时报错。
因为该字段中含有单引号,请问怎么将其放入表b中去。
='0'已经利用游标放入变量m中,insert的语句是利用动态语句实现的。
Str_Sql:='';
Execute Immediate Str_Sql;
我只知道如果是insert固定内容,一条的话,可以通过'变为''来处理,我这里动态语句里面怎么对变量来处理呢。
replace这个函数在oracle里面也只能用'啊。
谢谢个大虾了,小弟谢过先。
/--try:select to_number('0')+8 from dual;
OPER@TL>
1 declare
2 str_sql varchar2(100);
3 m varchar2(30);
4 begin
5 m:='=''0''';
6 str_sql:='insert into test values(:1)';
7 execute immediate str_sql using m;
8 end;
9 /PL/SQL procedure successfully completed.OPER@TL>select * from test;AAA
------------------------------
='0'OPER@TL>
insert into tablename values('&a');
执行后在弹出的对话框里输入值,试试你就明白要怎么写了.