oracle 存储过程动态sql
时间: 2023-10-24 18:10:11 浏览: 136
好的,针对您的问题,我可以给出以下示例代码:
```
CREATE OR REPLACE PROCEDURE dynamic_sql_proc (p_table_name IN VARCHAR2)
IS
v_sql VARCHAR2(200);
BEGIN
v_sql := 'SELECT * FROM ' || p_table_name;
EXECUTE IMMEDIATE v_sql;
END;
```
在这个存储过程中,我们使用了动态 SQL 来构建查询语句。首先,我们将传入的表名拼接到一个字符串中,然后使用 EXECUTE IMMEDIATE 语句来执行这个字符串。
需要注意的是,使用动态 SQL 时需要格外小心,因为它可能会导致 SQL 注入攻击。因此,在构建动态 SQL 语句时,一定要确保输入的参数是可信的。
阅读全文