oracle7 [Oracle] PL/SQL 프로시저 예외처리하기 (with RAISE & EXCEPTION) 프로시저를 작성하면서 특정 상황에는 A 처리를, 다른 상황에서는 B 처리를 해줘야할 때가 있다. 예를 들어,전표를 생성한다고 할 때 월마감을 체크하고 전표를 생성시켜줘야한다월마감을 했는지 체크하고 그 결과에 따라 월마감 여부를 알려주거나 전표를 생성시키거나 해야한다.이런 경우, 사용자정의 예외를 사용해서 처리해줄 수 있다. 물론 사용자정의 예외만 처리할 수 있는 방법이 아니라 자바에 try-catch문 처럼컴파일 오류나 오라클에서 발생시키는 오류 또한 처리할 수 있다. 프로시저에서EXCEPTION으로 예외를 선언하고 처리하고 RAISE로 예외를 발생시킬 수 있다. CREATE OR REPLACE PROCEDURE 프로시저이름ISV_CNT NUMBER(20);V_PRICE NUMBER(2.. 2025. 4. 16. [Oracle] ORA-00913: too many values INSERT - SELECT문을 실행하다가 에러 발생🫨🫨 ORA-00913: too many values (값이 너무 많습니다.) 해당 오류가 발생하는 경우는 INSERT문을 수행할 때 VALUES 절에 나열한 열 개수보다 많은 값을 입력할 때 주로 발생한다. INSERT INTO USER (ID, NAME, PWD)VALUES ('id', 'name', 'pwd', 'hh') 이처럼 데이터를 입력하려는 컬럼 수보다 삽입하려는 값이 많을 때 발생한다. 해결하는 방법은 👉👉👉 간단하게 컬럼수만 동일하게 맞춰주면 된다!INSERT INTO USER (ID, NAME, PWD)VALUES ('id', 'name', 'pwd') 추가적으로 INSERT때 뿐 아니라WHERE 절의 하위 쿼.. 2025. 2. 25. [Oracle] UNION과 UNION ALL 차이 ✏️ UNION / UNION ALL 여러 개의 SELECT문 결과를 하나의 결과로 합쳐주는 집합 연산 두 연산의 차이는 중복 제거! • UNION => 중복 제거 • UNION ALL => 중복 제거 X 중복 제거가 필요한 것이 아니라면 UNION 보다는 UNION ALL을 사용하는 것이 좋다.UNION 은 중복 제거라는 단계가 한번 더 들어가기 때문에 속도와 부하에서 안좋아... UNION과 UNION ALL을 사용할 때는컬럼의 개수, 데이터 타입, 순서가 동일해야한다. 이 항목들이 동일하지 않은 경우 아래와 같은 문제들이 발생한다. 1. 컬럼의 개수가 일치하지 않는 경우ORA-01789: 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다.. 2025. 2. 12. [Oracle] ORA-01791: SELECT식이 부적합합니다. 아래 쿼리문을 실행하면 ORA-01791 오류가 발생한다.SELECT ID , NAME FROM USER ORDER BY INP_DT DISTINCT와 ORDER BY 를 같이 썼을 때 발생하는 오류로 ORDER BY에 쓰고자 하는 컬럼을 SELECT문에도 써주면 된다!😚 SELECT ID , NAME , INP_DT FROM USER ORDER BY INP_DT; [출처]https://junghn.tistory.com/entry/Oracle-ORA-01791-SELECT-%EC%8B%9D%EC%9D%B4-%EB%B6%80%EC%A0%81%ED%95%A9%ED%95%A9%EB%8B%88%EB%8B%A4-%EC%9B%90%EC%9D%B8-%EB%B0%8F-%ED%95%B4%E.. 2024. 12. 12. 이전 1 2 다음