삭제 레코드를 작성하는 프로 시저를 원한다. 프로 시저 테이블 이름과 ID를 전달한다.오라클 프로 시저 예외 컴파일 오류
오류 (33,1) : PLS-00103 :
CREATE OR REPLACE PROCEDURE TRYNIMAS(
ID NUMBER,
LENTELE VARCHAR2,
KLAIDA OUT VARCHAR2
)
IS
INUSE EXCEPTION;
PRAGMA EXCEPTION_INIT (INUSE,-02292);
BEGIN
IF LENTELE = 'table1' THEN
DELETE FROM KATEGORIJOS WHERE KAT_ID = ID;
ELSE IF LENTELE = 'table2' THEN
DELETE FROM KATEGORIJOS WHERE PRT_ID = ID;
ELSE IF LENTELE = 'table3' THEN
DELETE FROM KATEGORIJOS WHERE TK_ID = ID;
ELSE IF LENTELE = 'table4' THEN
DELETE FROM KATEGORIJOS WHERE PR_ID = ID;
ELSE IF LENTELE = 'table5' THEN
DELETE FROM KATEGORIJOS WHERE PIRK_ID = ID;
ELSE IF LENTELE = 'table6' THEN
DELETE FROM KATEGORIJOS WHERE TK_ID = ID;
ELSE
KLAIDA:= 'TABLE OR RECORD NOT EXIST';
END IF;
EXCEPTION
WHEN INUSE THEN KLAIDA:= 'Record is in usera and can not be deleted';
WHEN OTHERS THEN KLAIDA:= 'Error!';
END;
내가 컴파일 오류가있어 다음 중 하나를 예상 할 때 심볼 "예외"가 발생했습니다 : (사건을 시작하기위한 최종 종료 선언 고토 루프 모드 널 프라그 인상 반환 선택 업데이트는 < < 가까운 현재 삭제 가져 잠금 삽입 개방 롤백 세이브 포인트 세트 FORALL 파이프 퍼지에게
오류 (36,4) 병합 커밋 SQL 실행 계속 함께하면서 경우 : PLS-00103를 :가 발생했습니다 기호 "끝 - of-file "중 하나를 예상 할 때 다음을 예상 할 수 있습니다. 끝내기 프라그 마 최종화 할 수있는 순서 재정의 정적 멤버 생성자 맵
나는 동일한 오류 메시지가 나타납니다. – Wizard
당신은 무엇을 시도 했습니까? 'ELSE IF'를'ELSIF'로 바꾸거나 빠진'END IF'를 추가 하시겠습니까? 나는'ELSE IF's를'ELSIF's로 바꾸었고 여러분의 절차는 나를 위해 컴파일되었습니다. –