[DB] 오라클 PROCEDURE IF EXISTS 간단한 예제~DBeaver에서 실행~ (프로시저 디비버 이프문)_tutorial select case when then else drop_-oracle procedure if and exists very simple example-+PLS-00103: 심볼 ""를 만났습니다 다음 중 하나가 기대될 때:+

1. 디비버 실행 

2. 쿼리 순서대로 실행

- 자동차 정보 테이블의 데이터 중 자동차 브랜드가 기아인 데이터 존재여부 

CREATE TABLE TB_CAR_INFO(

CAR_NUMBER NUMBER NOT NULL

, CAR_BRAND varchar2(20) 

);

INSERT INTO TB_CAR_INFO (CAR_NUMBER,CAR_BRAND) VALUES (1,'​HYUNDAI');


DECLARE

  V_CAR_NUM_EXT NUMBER(1);

BEGIN

SELECT CASE

WHEN EXISTS(

SELECT 1 FROM TB_CAR_INFO WHERE CAR_BRAND = 'KIA'

THEN 1 

ELSE 0 

END INTO V_CAR_NUM_EXT

FROM DUAL;

IF V_CAR_NUM_EXT = 1 

THEN

DBMS_OUTPUT.put_line('exist');

ELSE

DBMS_OUTPUT.put_line('does not exist');

END IF;

END;


3. 결과

DBMS_OUTPUT = does not exist


4. 현대인 데이터 존재로 변경 시 

SELECT 1 FROM TB_CAR_INFO WHERE CAR_BRAND = 'KIA'  >> 

SELECT 1 FROM TB_CAR_INFO WHERE CAR_BRAND = 'HYUNDAI' 변경

DBMS_OUTPUT = exist


* 참고 링크 

https://stackoverflow.com/questions/13217600/if-exists-condition-not-working-with-plsql


댓글

T O P