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