[Oracle Error] begin case declare end exception exit for goto if loop mod null pragma raise return select update while with

2023. 7. 14. 15:39·Error code 모음/1. SQL errors
반응형

1. 원인


  • 프로시져 문에서 문법 오류가 발생했을 때 에러가 뜸

 

 

 

2. 해결 방법


  • 흔한 방법이지만, 에러문에 힌트가 있음... -> 이게 어렵지..인내심을 가지고 찾는다는 것이..
  • 나의 에러문은 아래와 같았음
begin case declare end exception exit for goto if loop mod

   null pragma raise return select update while with

   <an identifier> <a double-quoted delimited-identifier>

   <a bind variable> << continue close current delete fetch lock

   insert open rollback savepoint set sql execute commit forall

   merge pipe purge json_exists json_value json_query

   json_obj

-> 즉 문법에 문제가 있다는 것이다...

 

  • oracle 프로시져 문의 문법을 찾아 해맸음...
  • 그 결과 다른 쿼리를 실행시키려면... execute immediate 를 계속 붙여야 한다는 것을 알게됨
  • 적용 후 성공(쿼리는 아래와 같음..)
.option("sessionInitStatement","""BEGIN
                     execute immediate 'alter session set nls_timestamp_format="YYYY-MM-DD HH24:MI:SS.FF"';
                     execute immediate 'alter session set nls_date_format="YYYY-MM-DD"';
                     execute immediate 'ALTER SESSION SET NLS_LANGUAGE = "AMERICAN"';
                     execute immediate 'ALTER SESSION SET NLS_DATE_LANGUAGE = "AMERICAN"';
                     END;""")
  • 2시간 삽질 끝에 겨우 찾아냄......

 

 

 

3. 참고 링크


https://stackoverflow.com/questions/66260952/oracle-alter-table-using-execute-immediate-not-behaving-as-expected

 

Oracle Alter Table using Execute Immediate Not behaving as expected

I have PLSQL block like below which add a dummy column , does an update and then drops and renames columns BEGIN NULL; EXECUTE IMMEDIATE 'ALTER TABLE TESTMISMATCH ADD (TEMP_745634_1 VARCHAR2(4000 B...

stackoverflow.com

https://devdic.tistory.com/6

 

오라클의 동적 PL SQL 작성 - EXECUTE IMMEDIATE

PL SQL 작성 시 동적으로 DDL구문 또는 SELECT/INSERT/UPDATE/DELETE 구문을 수행해야 할 때가 있다. 이때 유용하게 사용하는 것이 EXECUTE IMMEDIATE 문법이다. SCOTT 계정의 테이블들의 건수를 TBL_CNT_LIST라는 테

devdic.tistory.com

https://dncjf0223.tistory.com/66

 

Oracle PL/SQL - 동적 SQL

동적 SQL 사용 방법 실행 중 변경 가능한 문자열 변수 또는 문자열 상수로 제공된 SQL문을 실행 사용 예 EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM emp' INTO v_cnt; 사용 가능한 SQL 모든 SQL문(DML, TCL, DDL, DCL) 장점 -

dncjf0223.tistory.com

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Error code 모음 > 1. SQL errors' 카테고리의 다른 글

[SQL] 컬럼이 여러번 지정되었습니다.  (0) 2024.01.11
[MSSQL] varchar 데이터 형식을 datetime 데이터 형식으로 변환하는 중 값 범위를 벗어났습니다 에러  (0) 2024.01.10
[MongoDB] mongodb: Auth mechanism not specified  (0) 2021.09.13
[Sql Error] Ignoring query to other database  (0) 2021.04.30
[MySql Error] ERROR 1819 (HY000): Your password does not satisfy the current policy requirements  (0) 2021.04.29
'Error code 모음/1. SQL errors' 카테고리의 다른 글
  • [SQL] 컬럼이 여러번 지정되었습니다.
  • [MSSQL] varchar 데이터 형식을 datetime 데이터 형식으로 변환하는 중 값 범위를 벗어났습니다 에러
  • [MongoDB] mongodb: Auth mechanism not specified
  • [Sql Error] Ignoring query to other database
쟈누
쟈누
Ad astra per aspera
    반응형
  • 쟈누
    쟈누의 기록공간
    쟈누
  • 전체
    오늘
    어제
    • 분류 전체보기 (444)
      • AWS (31)
        • Glue (4)
        • S3 (1)
      • 클라우드 (0)
      • Data Engineering (37)
        • GitHub (10)
        • NiFi (11)
        • Spark (10)
        • Snowflake (0)
        • 머신러닝, AI (6)
      • 언어 (118)
        • 데이터 베이스 (42)
        • JAVA (9)
        • Python (34)
        • Java Script (15)
        • Linux (18)
      • 프로젝트, 인강 그리고 책 (30)
        • Spotify Project (7)
        • RASA chatbot Project (9)
        • Naver shopping Project (6)
        • 빅데이터를 지탱하는 기술 (8)
      • OLD (56)
        • IT 용어 사전 (13)
        • Front End (12)
        • Back End (31)
      • Error code 모음 (165)
        • 1. SQL errors (17)
        • 2. Hadoop errors (20)
        • 3. Linux Errors (14)
        • 4. Python errors (33)
        • 5. JAVA, Spring errors (41)
        • 6. Jav Script errors (10)
        • 7. Dev Tools errors (9)
        • 8. Git errors (8)
        • 9. Jenkins Errors (4)
        • 10. airflow Errors (2)
        • 11. Aws errors (7)
      • 개인 (1)
        • 책 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 블로그 관리
    • 글쓰기
  • 링크

  • 공지사항

    • 간단한 블로그 소개
  • 인기 글

  • 태그

    MySQL
    Git
    java
    리눅스
    파이썬
    Spring
    AWS
    API
    linux
    SQL
    에러
    Python
    python error
    node
    install
    설치
    json
    NiFi
    error
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
쟈누
[Oracle Error] begin case declare end exception exit for goto if loop mod null pragma raise return select update while with
상단으로

티스토리툴바