我正在学习 PL/SQL 并尝试执行此示例代码。当我尝试这样做时,出现 PLS-0021 错误。你能建议我如何纠正这个问题吗?谢谢!
错误:
Error at line 1
ORA-06550: line 2, column 14:
PLS-00201: identifier '<schema>.<table>' must be declared
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated
代码:
DECLARE
v_serial <schema>.<table>%TYPE;
BEGIN
select serial
into v_serial
from <schema>.<table>;
END;
%TYPE
用于引用列类型,而不是行类型。将列名称添加到变量定义中,或使用 %ROWTYPE
代替。
例如:
drop table test_table;
create table test_table(serial number);
insert into test_table values(1);
declare
v_serial test_table.serial%type;
begin
select serial
into v_serial
from test_table;
end;
/
由于您看到的错误消息,我认为您的代码还存在其他问题。但这些错误可能与您使用模板或占位符值的方式有关。我没有在示例中包含架构名称,以便我可以发布完全可重现的示例。一旦您使上述代码正常工作,您就可以在表名称前面添加架构名称。