我喜歡創建一個PLSQL PROCEDURE來驗證EMPLOYEE的數據在DRIVER和MECHANIC中不存在。將PL/SQL中的數據與我想比較的輸入進行比較
我已創建1條記錄進行測試。但是,當我運行EXEC驗證(2)的記錄,而不是我創建的測試它仍然會顯示不是我想驗證的測試記錄。
我喜歡用EMPLOYEE.E#集執行PROCEDURE,我選擇運行EMPLOYEE的比較在DRIVER和MECHANIC中不存在。
這是我創建的PLSQL。
CREATE OR REPLACE PROCEDURE Verify(enum IN EMPLOYEE.E#%TYPE) IS
eNo DRIVER.E#%TYPE;
eName EMPLOYEE.NAME%TYPE;
CURSOR c1 IS
SELECT DRIVER.E#, EMPLOYEE.NAME
FROM DRIVER
INNER JOIN EMPLOYEE
ON EMPLOYEE.E# = DRIVER.E#
WHERE
EXISTS (SELECT * FROM MECHANIC WHERE DRIVER.E# = MECHANIC.E#);
BEGIN
OPEN c1;
FETCH c1 into eNo, eName;
IF c1%NOTFOUND THEN
CLOSE c1;
DBMS_OUTPUT.PUT_LINE('No Records Found');
ELSE
CLOSE c1;
DBMS_OUTPUT.PUT_LINE('E#| NAME');
FOR EmpRecord IN c1
LOOP
DBMS_OUTPUT.PUT_LINE(EmpRecord.E# || ' | ' || EmpRecord.NAME || ' is in
driver and mechanic.');
END LOOP;
END IF;
END;
/
歡迎來到StackOverflow。起初,你並沒有在程序中使用你的參數,其次,你的代碼不能反映你說的話,你需要再讀一遍,並改變它,讓你的GrandMa明白你想說什麼。 – jachguate