PL/SQL GET COLUMN LENGTH, 별도의 방법은 없고 컬럼 뷰를 조회하세요.

PL/SQLDESCRIBE 기능을 사용하여 테이블이나 컬럼의 정의를 확인하거나, USER_TAB_COLUMNS 또는 ALL_TAB_COLUMNS 데이터 딕셔너리 뷰를 조회하여 컬럼의 최대 길이를 얻을 수 있어요.

컬럼 길이 구하기

예를 들어, EMP 테이블의 ENAME 컬럼의 최대 길이(10)를 얻는 방법은 다음과 같이 해보세요.

1. 데이터 딕셔너리 뷰를 사용하여 열 길이 확인

ALL_TAB_COLUMNS 또는 USER_TAB_COLUMNS 뷰는 테이블의 컬럼 정보와 각 컬럼의 길이를 제공하는 시스템 뷰입니다. 이를 사용하여 ENAME 컬럼의 최대 길이를 구할 수 있습니다.

DECLARE
    v_column_length NUMBER;
BEGIN
    -- USER_TAB_COLUMNS 뷰에서 EMP 테이블의 ENAME 열 길이 조회
    SELECT CHAR_LENGTH
    INTO v_column_length
    FROM USER_TAB_COLUMNS
    WHERE TABLE_NAME = 'EMP'
      AND COLUMN_NAME = 'ENAME';

    DBMS_OUTPUT.PUT_LINE('ENAME 컬럼의 최대 길이: ' || v_column_length);
END;
/
ENAME 컬럼의 최대 길이: 10

PL/SQL procedure successfully completed.

설명

  1. USER_TAB_COLUMNS 뷰: 현재 사용자가 소유한 테이블의 컬럼 정보를 제공합니다.
  2. CHAR_LENGTH: CHAR 타입 열의 최대 길이를 반환합니다. VARCHAR2CHAR 타입 열에 대해 사용할 수 있어요.
  3. TABLE_NAMECOLUMN_NAME 조건: EMP 테이블에서 ENAME 열을 조회하는 데 필요한 조건입니다.
  4. 결과 출력: DBMS_OUTPUT.PUT_LINE으로 ENAME 열의 길이(10)를 출력할 것입니다.

2. DESCRIBE 명령어 사용

또한 SQL*Plus나 SQL Developer 같은 도구에서 DESCRIBE 명령어를 사용하여 테이블의 컬럼 길이를 확인할 수도 있습니다.

DESCRIBE EMP;

이를 통해 ENAME 열의 길이가 10임을 확인할 수 있어요.

이전최근
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗