请问:
declare
sql_stmt varchar2(200);
emp_id nlumber(4):=7566;
emp_rec  emp%rowtype;
begin
execute  immediate  'create table bonusl(id number,amt number)';
sql_stmt :='select * from emp  where empno=:id';
execute immediate sql_stmt into emp_rec using emp_id;
end;
/在这个PL/SQL中:
sql_stmt :='select * from emp  where empno=:id';其中的 :id  是什么意思啊?

解决方案 »

  1.   

    :id是绑定变量,实际执行时用emp_id代替,绑定变量能减少硬解析次数,加快执行速度
      

  2.   

    谢谢啊,那再问问
    create or replace trigger yedongjin
    before  insert or update of deptno
    on  emp
    for each row
    when(New.deptno<>40)
    begin
    :New.comm:=0;
    end;
    /
    这里面两处的New为什么一个前面没有 :   一个前面有呢?分别代表什么意思啊。也是绑定吗?
      

  3.   

    在触发器里 referencing 和when子句里面的new,old不能用 : ,其它的都必须要!!这是oracle规定的!