desc book_data;
Name Null Type
---------- ---- ------------
BOOK_NAME VARCHAR2(50)
BOOK_PRICE NUMBER
BOOK_SSN VARCHAR2(50)
DECLARE
TYPE book_rec is record(
book_name varchar2(50),
book_price number,
book_ssn varchar2(50)
);
type book_tbl_type is table of book_rec;
book_tbl1 book_tbl_type := book_tbl_type();
BEGIN
SELECT BOOK_NAME, BOOK_PRICE/*,book_ssn,1*/ BULK COLLECT INTO book_tbl1 FROM book_data;
DBMS_OUTPUT.put_line(book_tbl1(1).book_name);
END;
Error report -
ORA-06550: line 11, column 75:
PL/SQL: ORA-00913: too many values
ORA-06550: line 11, column 3:
PL/SQL: SQL Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
질문에 대한 잘못된 오류 메시지로 수집 : 오류 : 여기에 우리가 다음 우리는 "충분하지 값 ORA-00947"가지고해야 세 열 컬렉션 테이블에 두 개의 열을 삽입합니다. 그러나 우리는 "ORA-00913 : 너무 많은 가치"를 얻고 있습니다. 왜 ?BULK는 ORA-00913 및 ORA-00947
DECLARE
TYPE book_rec is record(
book_name varchar2(50),
book_price number,
book_ssn varchar2(50)
);
type book_tbl_type is table of book_rec;
book_tbl1 book_tbl_type := book_tbl_type();
BEGIN
SELECT BOOK_NAME, BOOK_PRICE,book_ssn,1 BULK COLLECT INTO book_tbl1 FROM book_data;
DBMS_OUTPUT.put_line(book_tbl1(1).book_name);
END;
Error report -
ORA-06550: line 11, column 71:
PL/SQL: ORA-00947: not enough values
ORA-06550: line 11, column 3:
PL/SQL: SQL Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
질문 : 여기에 우리가 세 가지 열 컬렉션 테이블에 네 개의 열을 삽입합니다. 그렇다면 우리는 "ORA-00913 : 너무 많은 값"오류가있을 수 있습니다. 하지만 "ORA-00947 : 값이 충분하지 않습니다." 왜 ?