数据库中execute immediate是什么意思???(详细点)

2025-04-04 01:23:12
推荐回答(2个)
回答1:

oracle 数据库的吧?用来执行动态sql语句,用于oracle 的pl/sql 语言编写的存储过程函数包里面。

回答2:

EXECUTE IMMEDIATE代替了以前Oracle8i中DBMS_SQL package包,它解析并马上执行动态的
SQL语句或非运行时创建的PL/SQL块。
使用技巧:
1. EXECUTE IMMEDIATE将不会提交一个DML事务执行,应该显式提交
如果通过EXECUTE IMMEDIATE处理DML命令,那么在完成以前需要显式提交或者作为EXECUTE
IMMEDIATE自己的一部分. 如果通过EXECUTE IMMEDIATE处理DDL命令,它提交所有以前改变的数据
2. 不支持返回多行的查询,这种交互将用临时表来存储记录(参照例子如下)或者用REF cursors.
3. 当执行SQL语句时,不要用分号,当执行PL/SQL块时,在其尾部用分号;
4.举例:execute immediate 'select count(1) from tempA'。