place holderとbind variable
place holderとbind variable
place holderとbind variableは動的SQLを実行するときに使われるものである。
place holderは文字列の中でコロン(:)で認識される定義の器である。
bind variableはplace holderに当てはまれる値のことを表す。
place holderとbind variableはExecute Immediate文で使用される。
例
vSQL := '';
vSQL := vSQL || 'INSERT INTO USER_MASTER (USER_ID , USER_NAME)';
vSQL := vSQL || ' VALUES ( :1, :"2" )';
DBMS_OUTPUT.PUT_LINE('SQL=' || vSQL);
例の:1, :"2"がplace holderにあたる。
place holderは名前としては意味が無く、順番としてしか意味を持たない
bind variableの例では下記の形になる
EXECUTE IMMEDIATE vSQL USING IN vID, vName;
bind variableをUsing in句を使って当てはめることができる。