plsql

PL/SQLで動的SQLにバインド変数を使う

SQLインジェクション対策として。 str := '''%CLERK'''; execute immediate 'select job_id from jobs where job_id like ' || str bulk collect into job_ids; dbms_output.put_line(job_ids.count); # => 3 str := '''%CLERK'' or 1 = 1'; execute immedia…

PL/SQLブロックでhello worldとカーソル操作の初歩

set serveroutput on; declare d date; rec jobs%rowtype; cursor c1 (param varchar2) is select * from jobs where job_id like '%' || param ; begin dbms_output.put_line('hello world'); -- 暗黙カーソルはSELECTとかDMLを実行するたびにオープンし、…