UPDATE READER SET DEBT_FLAG = NVL(DEBT_FLAG,0) + :B2 WHERE CERT_ID = :B1 才开始看Oracle的SQL.里面的:B2与:B1,是啥意思?
我感觉是参数,不知道对不对。指点一下。 

解决方案 »

  1.   

    是的,在TOAD里用这种方式传入参数变量
      

  2.   

    建议看下 绑定变量这是参数传递的方法,在动态SQL中经常用到
      

  3.   


    SQL> set serveroutput on;SQL> CREATE OR REPLACE PROCEDURE query_emp(i_empno VARCHAR2) IS
      2    v_sql   VARCHAR2(2000);
      3    v_ename VARCHAR2(40);
      4  BEGIN
      5    v_sql := 'select ename from emp where empno=:empno';
      6    EXECUTE IMMEDIATE v_sql
      7      INTO v_ename
      8      USING i_empno;
      9    dbms_output.put_line(v_ename);
     10  END;
     11  /
     
    Procedure created
     
    SQL> exec query_emp('7369');
     
    SMITH
     
    PL/SQL procedure successfully completed
     
    SQL>