PL/SQLはクエリを実行する方法を提供します。

PL/SQLでは、動的SQLクエリーの実行にEXECUTE IMMEDIATE文を使うことができます。以下に例を示します。

DECLARE
  v_sql VARCHAR2(200);
  v_result NUMBER;
BEGIN
  -- 构建查询语句
  v_sql := 'SELECT COUNT(*) FROM employees WHERE department_id = :dept_id';
  
  -- 执行查询
  EXECUTE IMMEDIATE v_sql INTO v_result USING 10;
  
  -- 输出结果
  DBMS_OUTPUT.PUT_LINE('Number of employees in department 10: ' || v_result);
END;

上記の例では、まず変数 v_sql を定義して問い合わせ文を格納し、次に EXECUTE IMMEDIATE ステートメントを使用して動的 SQL 問い合わせを実施し、その結果を変数 v_result に格納します。最後に DBMS_OUTPUT.PUT_LINE を使用して問い合わせ結果を出力します。

なお、動的SQLクエリでは、変数をクエリ文中のパラメータにUSING句でバインドすることでSQLインジェクション攻撃を防げます。

bannerAds