oracle execute用法 Oracle中“execute immediate”是什么意思?

Oracle中“execute immediate”是什么意思?执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句EXECUTE IMMEDIATE -- 用法例子1. 在P

Oracle中“execute immediate”是什么意思?

执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句

EXECUTE IMMEDIATE -- 用法例子

1. 在PL/SQL运行DDL语句

begin

execute immediate "set role all"

end

2. 给动态语句传值(USING 子句)

declare

l_depnam varchar2(20) := "testing"

l_loc varchar2(10) := "Dubai"

begin

execute immediate "insert into dept values (:1, :2, :3)"

using 50, l_depnam, l_loc

commit

end

3. 从动态语句检索值(INTO子句)

declare

l_cnt varchar2(20)

begin

execute immediate "select count(1) from emp"

into l_cnt

dbms_output.put_line(l_cnt)

end