2016-05-12 259 views
-1

我正在創建此過程以從數據庫檢索信息。這是我第一次創建一個程序。我在創建過程時不斷收到有關我嘗試設置的參數的錯誤。它沿着預期不同符號的地方寫了分號。 現在我得到我周圍的SQL語句的錯誤,不一致的數據類型:預期數量得到DATEPL SQL過程錯誤

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; 
+3

您不要在參數定義中放置分號。逗號。 – OldProgrammer

回答

1

你的參數應該用逗號(,)隔開。你有分號。

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