この sql スクリプトを oracle で実行しようとすると、エラーが発生します
ORA-00984: ここでは列を使用できません。
declare
tablename varchar2(200):='imagesroom';
temp varchar2(50):='room_id';
iid number:=1;
dir varchar2(200):='imgdirroom';
in_fname varchar2(100):='img1.jpg';
obj ORDIMAGE;
ctx RAW(64) := NULL;
begin
execute immediate 'INSERT INTO '||tablename||'('||temp||',extension,icon)
VALUES(iid,'''',ORDImage(''FILE'',upper(dir),in_fname))
RETURNING icon INTO obj';
end;
/
ERROR at line 1:
ORA-00984: column not allowed here
ORA-06512: at line 10
これは素晴らしい作品です
INSERT INTO imagesroom(room_id,extension,icon)
VALUES(iid,'',ORDImage('FILE',upper(dir),in_fname))
RETURNING icon INTO obj;
どうしたの?
私がこうしたら
execute immediate 'INSERT INTO :table(:type,extension,icon)
VALUES(:id,'''',ORDImage(''FILE'',upper(:dir),:fname)) RETURNING icon INTO obj'
using tablename,temp,iid,dir,in_fname;
それから
ERROR at line 1:
ORA-00903: invalid table name
ORA-06512: at line 10
現れる...