我正在使用带有插入的select来添加先前的记录值。这要求我执行以下代码:
insert into My_table
values ('a', select value_with_sp_char from table where criterion_to_guarantee_single_row=true), 'b','c')
现在每当value_with_sp_char有一个像_,&,%,。,comma这样的字符时,查询就会失败。
关于如何正确插入该值的任何想法?
答案 0 :(得分:0)
是的,你是对的,我解决了这个问题。
我对这个问题的表达方式并不完全真实。
我试图将值添加到变量中,如此
Declare
lv_txt_var varchar2(255) := '';
Begin
select value_with_sp_char into lv_txt_var from table where criterion_to_guarantee_single_row=true;
if (input_param = null)
insert into table values ('a', lv_txt_var, 'b', 'c');
end if;
当我使用上面的查询时,由于特殊的char而失败。但是,当我修改它以使用选择查询时,它可以工作。
答案 1 :(得分:0)
此插入实际上不需要PL / SQL。用这种方式写它会更好:
INSERT INTO table_a
SELECT 'a', value_with_sp_char, 'b', 'c'
FROM table_b
WHERE criterion_to_guarantee_single_row = true;