0

以前のレコード値を追加するために、挿入を伴う選択を使用しています。これには、次のコードを実行する必要があります。

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,- のような文字があると、クエリは失敗します。

その値を正しく挿入する方法についてのアイデアはありますか?

4

2 に答える 2

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;

上記のクエリを使用すると、特殊文字のために失敗しました。ただし、選択クエリを使用するようにこれを変更すると、機能しました。

于 2013-01-15T04:12:09.447 に答える
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;
于 2013-01-15T08:24:05.787 に答える