PL/SQLプロシージャを作成しようとしています。しかし、それは正しく機能していません。コードを見て、これについてアドバイスしてください。
CREATE OR REPLACE PROCEDURE TEST IS
DECLARE
EMPLOYEENUM EMPLOYEE.E#%type;
EMPLOYEENAME EMPLOYEE.NAME%type;
NUMRECORDS NUMBER(2);
BEGIN
SELECT EMP.E# INTO EMPLOYEENUM ,EMP.NAME INTO EMPLOYEENAME
FROM EMPLOYEE EMP
WHERE EXISTS
(SELECT * FROM MECHANIC, DRIVER
WHERE EMP.E# = DRIVER.E#
AND EMP.E# = MECHANIC.E#);
SELECT COUNT(*) INTO NUMRECORDS
FROM (
SELECT EMP.E#,EMP.NAME
FROM EMPLOYEE EMP
WHERE EXISTS
(SELECT * FROM MECHANIC, DRIVER
WHERE EMP.E# = DRIVER.E#
AND EMP.E# = MECHANIC.E#));
IF (NUMRECORDS > 0) THEN
DBMS_OUTPUT.PUT_LINE('ERROR: CANNOT MAKE MORE THEN 2 TRIPS PER DAY');
ROLLBACK;
ELSE
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
ROLLBACK;
END VERIFY;
また、行数を確認するためにコードを再度実行する必要はないと確信しています。私はと呼ばれるものがあることを理解しています
SQL%ROWCOUNT
行数を返します。使い方を教えてください。