PL/SQL で SQL ステートメントを実行する方法
PL/SQLでSQL文を実行するには、複数の方法があります。
- PL/SQL 内の任意の動的 SQL 文を直接実行するために、EXECUTE IMMEDIATE 文を使用します。 例えば:
BEGIN
EXECUTE IMMEDIATE 'SELECT * FROM employees WHERE employee_id = 100';
END;
- SELECT INTO句を使用して、PL/SQL変数に問い合わせ結果を保存します。例を以下に示します。
DECLARE
emp_name employees.last_name%TYPE;
BEGIN
SELECT last_name INTO emp_name FROM employees WHERE employee_id = 100;
DBMS_OUTPUT.PUT_LINE('Employee Name: ' || emp_name);
END;
- OPEN-FETCH-CLOSE文を使用する:PL/SQLでカーソルを開いたりデータをフェッチしたりカーソルをクローズしたりすることができる。例えば:
DECLARE
CURSOR c_emp IS SELECT * FROM employees WHERE salary > 5000;
emp_rec employees%ROWTYPE;
BEGIN
OPEN c_emp;
LOOP
FETCH c_emp INTO emp_rec;
EXIT WHEN c_emp%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(emp_rec.employee_id || ' - ' || emp_rec.last_name);
END LOOP;
CLOSE c_emp;
END;
PL/SQLでSQL文を実行する一般的な方法はこれらであり、使用方法は各自のニーズと状況によって異なります。