我得到一个错误,说所有变量不能绑定

问题描述:

我尝试实现这个代码,我得到一个错误,所有变量或不绑定。对我来说什么是最好的解决方案。 我想实现这个代码来声明块外面的变量并将它们调用到程序中。我得到一个错误,说所有变量不能绑定

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

删除冒号':b_salary' – I3rutt

+0

为什么要定义b_salary和v_salary?听起来就像你只需要v_salary ... – Boneist

+0

请** [编辑] **您的问题,并添加您得到的**精确**错误消息。 ** [**]您的问题 - 请勿**在论坛中发布代码或其他信息。 –

本声明未在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这里不允许使用。