View에서 테이블 생성 - Oracle SQL 오류: ORA-01723: 길이가 0인 열은 허용되지 않습니다.
다음과 같은 문장을 사용하여 뷰에서 테이블을 만들어야 합니다.
CREATE TABLE NEW_TABLE AS
SELECT *
from VIEW
아래와 같이 에러 메시지를 주고 있습니다.뷰에서 테이블을 만들 수 없습니까(Select * 문으로)?
Error report -
SQL Error: ORA-01723: zero-length columns are not allowed
01723. 00000 - "zero-length columns are not allowed
나는 다음과 같은 문제가 있습니다.NULL
열에 대해 지정되었지만 유형은 지정되지 않았습니다.으악!
코드를 확인해야 합니다.이 문제는 다음을 사용할 때 자주 발생합니다.
select '' as x
내 생각에''
올바른 유형을 가져야 합니다.
어떤 경우에도 솔루션은 간단합니다.
select cast(NULL as varchar2(255)),
cast(NULL as number)
어떤 유형이든 상관없습니다.
보기 정의를 변경하거나 명시적 캐스트가 있는 하위 쿼리를 사용하여 쿼리를 사용해야 합니다.
오류 >> "0개의 길이 열은 허용되지 않습니다"
최근에 비슷한 문제가 발생하여 항상 구글을 검색하고 솔루션을 위해 스택 오버플로 사이트를 방문하지만 이번에는 문제에 대한 솔루션을 얻지 못했습니다.다른 사이트도 확인했지만 도움이 되지 않았습니다.저는 여러 가지 방법을 시도했지만 실패했습니다.마침내 매니저가 몇 가지 팁과 요령을 제안했고 마침내 우리는 이 문제를 해결할 수 있었습니다.
저는 그 시간에 따른 단계를 아래에 게시하고 문제를 해결합니다.그래서 위의 오류가 발생했습니다. "길이가 0인 열은 허용되지 않습니다."제가 MV 스크립트를 확인해보니 대부분의 컬럼이 길이가 0인 것을 알 수 있었고, 이 때문에 MV를 만들 수 없었습니다.이렇게 고쳤습니다.
원하는 이름으로 테이블을 만듭니다.예를들면
abc
MV 테이블 구조를 사용합니다.저희 뮤직비디오는 포스뷰를 소스로 사용하고 있었습니다.그래서 이 테이블을 사용하여 VW 스크립트를 생성했습니다.
abc
등의 출처로서force view xyz를 만들거나 바꿉니다.abc에서 *를 선택하여 VW(열);
이제 아래와 같은 MV 스크립트를 만듭니다.
MV 삭제; mvmv_name(열) 생성
요청 시 새로 고침 완료
기본 키 포함
~하듯이
VW에서 *를 선택합니다;
원래 VW 스크립트 실행
이제 작성한 테이블을 삭제합니다.
- table_script를 실행합니다.sql >> 스키마 XYZ
- FORCE VIEW 스크립트 실행
- Materialized View 스크립트 실행
- FORCE VIEW 원본 스크립트 실행
- Drop_table.txt 실행
매니저가 이 문제를 해결하는 데 도움을 주었습니다.고마워요, 애쉬
안부 전해요
니하리카
언급URL : https://stackoverflow.com/questions/45652020/create-table-from-view-oracle-sql-sql-error-ora-01723-zero-length-columns-ar
'programing' 카테고리의 다른 글
mysql 명령줄에서 레코드를 수직으로 표시하는 방법은 무엇입니까? (0) | 2023.08.15 |
---|---|
JQuery $.scrollTo() 함수를 사용하여 창을 스크롤하는 방법 (0) | 2023.08.15 |
JOIN 쿼리의 이상한 동작 (0) | 2023.08.15 |
Apache POI를 사용하여 CSV 데이터 가져오기 (0) | 2023.08.15 |
ASP.NET에서 웹 페이지를 이미지로 변환 (0) | 2023.08.15 |