一:背景知识
1 sql执行分为静态sql和动态sql
1.1 静态sql:PL/SQL块中使用的SQL语句在编译时是明确的,执行的是确定对象
1.2 动态sql:PL/SQL块编译时SQL语句是不确定的,如根据用户输入的参数的不同而执行不同的操作
2 DDL(data define lauguage) DML(data manipulation lauguage)
二:动态sql的实现
实现原理:sql语句的拼接
1 本地动态SQL 执行DDL 语句 略
2 dbms_sql包
2.1 步骤:
A、先将要执行的SQL语句或一个语句块放到一个字符串变量中。
B、使用DBMS_SQL包的 parse过程来分析该字符串。
C、使用DBMS_SQL包的bind_variable过程来绑定变量。
D、使用DBMS_SQL包的execute函数来执行语句。
代码: