Oracle PL SQL过程错误

Oracle PL SQL过程错误,oracle,stored-procedures,plsql,parameters,procedure,Oracle,Stored Procedures,Plsql,Parameters,Procedure,我创建这个过程是为了从数据库中检索信息。这也是我第一次创建一个过程。当我创建过程时,我总是在试图设置的参数周围出现错误。它的意思是在分号所在的位置使用不同的符号现在我的SQL语句出现错误,数据类型不一致:预期的NUMBER get DATE CREATE OR REPLACE PROCEDURE HIREDATE ( D_ID IN EMP.DEPARTMENT_ID%TYPE; H_YEAR IN EMP.HIRE_DATE%TYPE; ) -- AS -- v_Last

我创建这个过程是为了从数据库中检索信息。这也是我第一次创建一个过程。当我创建过程时,我总是在试图设置的参数周围出现错误。它的意思是在分号所在的位置使用不同的符号现在我的SQL语句出现错误,数据类型不一致:预期的NUMBER get DATE

CREATE OR REPLACE PROCEDURE HIREDATE
(
D_ID IN EMP.DEPARTMENT_ID%TYPE; 
H_YEAR IN EMP.HIRE_DATE%TYPE;
)
--
AS
--
v_Last              VARCHAR2(20);               
v_First             VARCHAR2(25);
v_HireDate          DATE;
--
BEGIN
--
SELECT LAST_NAME,FIRST_NAME,HIRE_DATE 
INTO v_Last,v_First,v_HireDate
FROM EMP WHERE DEPARTMENT_ID = D_ID
AND EXTRACT(YEAR FROM HIRE_DATE) = H_YEAR;
--
DBMS_OUTPUT.PUTLINE(v_Last||','||v_First||'      '||v_HireDate);
--
EXCEPTION
--
WHEN NO_DATA_FOUND THEN 
DBMS_OUTPUT.PUTLINE('No data found for Department '||D_ID);
--
WHEN OTHERS THEN
DBMS_OUTPUT.PUTLINE('An unexpected error has occurred!');
--
END;

您的参数应该用逗号(,)分隔。你有分号

CREATE OR REPLACE PROCEDURE HIREDATE(
 D_ID IN EMP.DEPARTMENT_ID%TYPE,
 H_YEAR IN EMP.HIRE_DATE%TYPE) AS ...

在参数定义中不能使用分号。逗号。