pl/sql 생초보 질문있습니다 0 1 925

by 꼬막 [PL/SQL] [2021.07.27 14:13:54]


프로시저에서, 아래와같이

update TABLE_1 

    set STATUS = 'E'

       , ERR_MSG = '필수값 미입력'

where COL_1 is null

   or COL_2 is null

   or COL_3 is null

이런식으로 null체크를 해서 유효성검사를 하려고합니다.

여러 값들 중 null체크를 하고난 뒤, 

null이 존재하지 않는 행은 다음 유효성을 검사하고, 

null이 존재하는 행은 유효성검사를 마치려고하는데, 

가능할까요...?

해당 업데이트문의 영향을 받은 row를 핸들링하여 조건문을 태울수있는지 궁금합니다.

by 마농 [2021.07.28 09:16:35]
UPDATE table_1
   SET status = 'E'
     , err_msg
     = CASE WHEN col_1 IS NULL OR col_2 IS NULL OR col_3 IS NULL THEN '필수값 미입력'
            WHEN LENGTH(col4) > 10                               THEN '자리수 초과'
            WHEN col5 < 0                                        THEN '음수값 입력'
        END
 WHERE (col_1 IS NULL OR col_2 IS NULL OR col_3 IS NULL)
    OR (LENGTH(col4) > 10)
    OR (col5 < 0)
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입