오류 코드 ORA-06550-Oracle에서 문자열 연결 문제

Schuyler

저는 매달 수입이 포함 된 테이블을 만들고 있습니다.
이를 위해 내부에 삽입 문이있는 for 루프를 사용하고 있습니다.
내가 문제가있는 것은 숫자를 한 달로 변환 한 다음 문자로 변환하는 것입니다.

내 코드는 다음과 같습니다.

BEGIN  
FOR i IN 1..12   
LOOP  
    INSERT INTO REVENUE ( TO_CHAR(TO_DATE(i, 'MM'), 'MON') || '2009'  
    , select sum(transaction_amount)  

하지만 이것을 실행하면 다음과 같은 오류가 발생합니다.

      INSERT INTO REVENUE ( TO_CHAR(TO_DATE(i, 'MM'), 'MON') || '2009'  
                                     *  
ERROR at line 4:
ORA-06550: line 4, column 31:
PL/SQL: ORA-00917: missing comma

내가 여기서 뭘 잘못하고 있니?

알렉스 풀

go-oleg가 옳습니다. 문제는 연결이 아니라 당신 syntax for the insert statement이 틀렸다는 것입니다. valuesvalues ​​절에서 키워드 가 누락되었습니다 .

BEGIN  
FOR i IN 1..12   
LOOP  
    INSERT INTO REVENUE VALUES ( TO_CHAR(TO_DATE(i, 'MM'), 'MON') || '2009'  
    , select sum(transaction_amount)
...  

또는 삽입하려는 열 이름을 이상적으로 지정하십시오.

BEGIN  
FOR i IN 1..12   
LOOP  
    INSERT INTO REVENUE ( <column1>, <column2> )
    VALUES ( TO_CHAR(TO_DATE(i, 'MM'), 'MON') || '2009'  
    , select sum(transaction_amount)  
    ...

values키워드 가 없기 때문에 파서는 괄호가 열 목록을 둘러싸고 있다고 생각하므로 다음 여는 괄호를 볼 때 혼란 스럽습니다 to_char. 오류는 괄호에 대한 것입니다. ma로 시작하면 char 31입니다. 오류 위치를 표시하는 별표가 약간 잘못된 위치에 나타나는 이유를 설명합니다. 열 목록의 구분 기호로 쉼표가 필요합니다. ' to_char'이 유효한 열 이름 인지 여부를 평가하지 않은 것 같습니다 .

실제로 두 번째 값에 사용하는 선택은 하위 쿼리 버전을 사용하려고 할 수 있음을 나타냅니다. 나머지 성명서에서 수행중인 다른 작업에 따라 다음을 원할 수 있습니다.

BEGIN  
FOR i IN 1..12   
LOOP  
    INSERT INTO REVENUE ( <column1>, <column2> )
    SELECT TO_CHAR(TO_DATE(i, 'MM'), 'MON') || '2009'  
    , sum(transaction_amount)
    FROM <some other table>
    ...

루프가 아닌 단일 인서트로 그렇게 할 수 있다고 생각하지만 전체를 보지 않고는 확신하기가 어렵습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

PLSQL 코드 오류-ORA 06550

Oracle의 문자열 연결에서 날짜 채우기 오류

Oracle SQL 오류 코드 ORA-06502: PL/SQL: 숫자 또는 값 오류: 18행에서 문자열 버퍼가 너무 작습니다.

Azure 오류-연결 문자열 문제

ORACLE : "선택 위치"에서 ORA-06550 오류

연결된 목록에서 세분화 오류 (코어 덤프) 문제 해결

코드에 연결 문자열을 추가한 후 오류가 발생하는 이유는 무엇입니까?

코드에서 연결 문자열에 자격 증명 추가

MongoDB : 구성 서버를 복제 세트로 업그레이드 할 때 연결 문자열 오류

자바 스크립트에서 utf 문자열 연결 오류

Postgresql 문자열 연결 : 오류 : "msg"또는 그 근처에서 구문 오류

ORA-06550 : Oracle SqlPlus

ORA-06550 : Oracle SqlPlus

출력에서 Java 문자열 연결 오류

Blazor .net 핵심 앱에서 연결 문자열 찾기 오류

Entity Framework 6 코드에서 연결 문자열 설정

NServiceBus Azure 큐 전송 : 코드에서 연결 문자열 설정

연결 문자열 : 구성 파일에서 코드로 변환

Entity Framework에서 연결 문자열 하드 코딩

Java에서 문자열을 유니 코드로 연결

오류 수신 : "ORA-20999 : SQL 쿼리를 구문 분석하지 못했습니다! <p> ORA-06550 : 3 행, 25 열 : ORA-00936 : 표현식 누락

연결 문자열에서 db 이름을 사용할 때 Mongoose 연결 오류

프로세스 코드 오류 : ORA-06502 : PL / SQL : 숫자 또는 값 오류 : 문자에서 숫자로 변환 오류

EF 코어에서 스캐 폴딩 할 때 SQL 연결 문자열 오류가 발생합니까?

ODBC 드라이버의 SQLite3 : 문자열 연결 오류

기본 Python 문자열 연결 + 수학 문제, 코드 포함

Oracle-ORA-01489 : 문자열 연결 결과가 너무 깁니다

문자열 연결에 대한 문자열 오버로드 + 연산자는 어디에 있습니까?

결과의 오류 코드를 문자열로 변환

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관