kay*_*yak 3 sql oracle plsql stored-procedures ora-00904
我是oracle的新手.当我使用以下方法创建存储过程时:
CREATE OR REPLACE PROCEDURE PROCEDURE1
AS
BEGIN
SELECT FIRSTNAME,
LASTNAME
INTO FirstName,LastName
FROM EMPLOYEE;
END PROCEDURE1;
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
PL/SQL语句忽略标识符必须声明FIRSTNAME ORA-00904标识符无效
您需要在尝试填充变量之前声明变量:
CREATE OR REPLACE PROCEDURE PROCEDURE1
AS
FirstName EMPLOYEE.FIRSTNAME%TYPE;
LastName EMPLOYEE.LASTNAME%TYPE;
BEGIN
SELECT FIRSTNAME,
LASTNAME
INTO FirstName,LastName
FROM EMPLOYEE;
END PROCEDURE1;
Run Code Online (Sandbox Code Playgroud)
%TYPE表示法是与列数据类型匹配的数据类型声明的简写.如果该数据类型发生更改,则无需更新该过程.