我收到一条错误,说明无法绑定所有变量

时间:2017-09-04 07:10:52

标签: oracle plsql

我尝试实现此代码我得到一个错误,所有变量或不绑定。什么是最好的解决方案。 我正在尝试实现此代码,用于将变量声明出块并将其调用到程序中。

variable b_salary employees.salary%type;

declare 
   v_name employees.last_name%type;
   v_salary employees.salary%type;
BEGIN    

   select last_name,salary
   into   v_name, :b_salary
   from   employees
   where  phone_number = '9856849658';

   dbms_output.put_line ('EMP ' || V_name || ' earns ' || V_salary || ' monthly ');
   dbms_output.put_line ('Hello Word') ;
END; 

1 个答案:

答案 0 :(得分:1)

SQL-Plus中不允许使用此声明:

variable b_salary employees.salary%type;

此外,如果您在SQL-Plus或SQL-Develoer中运行此行,您将收到以下错误消息及使用说明,我想知道您为什么没有注意到它:

Usage: VAR[IABLE] [ <variable> [ NUMBER | CHAR | CHAR (n [CHAR|BYTE]) |
    VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) |
    NVARCHAR2 (n) | CLOB | NCLOB | BLOB | BFILE
    REFCURSOR | BINARY_FLOAT | BINARY_DOUBLE ] ] 

您只能使用确切的类型名称,上面的消息中只有一个,此处不允许employees.salary%type