以下のコードはほとんどの場合問題ありません。不足しているコンマORA-00917 SQL問合せでアポストロフィをエスケープする
req := 'INSERT INTO CLIENTS(
IDEVT,
ID_CLIENT,
CATEGORIE_CLIENT,
SEGCO,
LIB_SEGCO,
NOM,
ADRESSE,
CODE_POSTAL,
VILLE,
PAYS,
STATUT)
values(''' || UNID ||''','''||ID||''','''||SEGCO||''','''||L_SEGCO ||''','''||**LIB_SEGCO** ||''','''|| NOM||''','''||
ADRESSE||''','''||CODE_POSTAL||''','''||cVILLE||''','''||PAYS||''','''||CODE_STATUT||''')';
execute immediate req;
任意のアイデアをするときアポストロフィをエスケープする: それはLIB_SEGCOが、それはエラーになりますORA-00917がこれらのケースでは、このようなABC'DEF
として任意の単一引用符 を持っていたときに吹きますそれは変数で渡された?
おかげ
この例では、動的SQLを使用する必要はありません。静的な 'INSERT'ステートメントを使用してください。変数「UNID、ID、....」はすでにPL/SQLエンジンによってバインド変数として扱われています。 –