레이블이 DBMS_SQL.DESCRIBE_COLUMNS인 게시물을 표시합니다. 모든 게시물 표시
레이블이 DBMS_SQL.DESCRIBE_COLUMNS인 게시물을 표시합니다. 모든 게시물 표시

2022년 1월 8일 토요일

오라클,PLSQL,DBMS_SQL.DESCRIBE_COLUMNS, 컬럼정보출력, DESC_TAB, DESC_REC, 오라클교육, SQL교육, 자바교육, 오라클학원, SQL학원, 자바학원

 오라클,PLSQL,DBMS_SQL.DESCRIBE_COLUMNS, 컬럼정보출력, DESC_TAB, DESC_REC, 오라클교육, SQL교육, 자바교육, 오라클학원, SQL학원, 자바학원


http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=730 

오라클,PL/SQL,DBMS_SQL,동적SQL실습 테이블 생성, 멀티행 입력,BIND_ARRAY, EXECUTE, 오라클교육, 오라클학

오라클,PL/SQL,DBMS_SQL,동적SQL실습 테이블 생성, 멀티행 입력,BIND_ARRAY, EXECUTE, 오라클교육, 오라클학원, 오라클동영상,자바교육,자바학원,SQL교육, SQL학원오라클 PL/SQLDBMS_SQL동적SQL실습테이블 생성,

ojc.asia


https://www.youtube.com/watch?v=0CYrvAWrBjk&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=43 


http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=731 


오라클,PLSQL,DBMS_SQL.DESCRIBE_COLUMNS, 컬럼정보출력, DESC_TAB, DESC_REC, 오라클교육, SQL교육, 자바교육, 오

오라클,PLSQL,DBMS_SQL.DESCRIBE_COLUMNS, 컬럼정보출력, DESC_TAB, DESC_REC, 오라클교육, SQL교육, 자바교육, 오라클학원, SQL학원, 자바학원오라클 PL/SQLDBMS_SQL.DESCRIBE_COLUMNS(컬럼정보 출력)실습DBMS_SQL.DESCRIBE_COLUM

ojc.asia

https://www.youtube.com/watch?v=XJOkRPZYSYo&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=42 

https://www.youtube.com/watch?v=tO4rkJAC7FM&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=40 


오라클 PL/SQL




DBMS_SQL.DESCRIBE_COLUMNS

(컬럼정보 출력)


실습








DBMS_SQL.DESCRIBE_COLUMNS 프로시저 : 컬럼의 정보를 DESC_REC 레코드 타입의 배열 형태인 DESC_TAB(OUT 타입) 변수에 담아두면 호출한 쪽에서 꺼내서 사용한다.


DBMS_SQL.DESCRIBE_COLUMNS ( 
   c                  IN     INTEGER, 
   col_cnt        OUT  INTEGER, 
   desc_t         OUT  DESC_TAB);
OPEN되고 파싱되는 커서의 컬럼을 정의. 컬럼의 정보를 배열에 담는다.

c : 커서, col_cnt : 컬럼 개수
desc_r : 컬럼의 정의를 담을 배열

DESC_TAB 타입은 DESC_REC를 담고 있는 오라클 테이블 타입(배열)

DESC_REC 에는 col_type, col_maxlen, col_name, col_name_len, col_schema_name, col_schema_name_len, col_precision, col_scale 등의 속성이 있다.





[실습 : DBMS_SQL.DECRIBE_COLUMNS 실습]

CREATE OR REPLACE PROCEDURE  desc_query( p_sql IN VARCHAR2 )
AUTHID CURRENT_USER  --프로시저 실행시 컴파일 사용자가 아닌 현재 접속사용자로 실행, 기본은 AUTHID DEFINER
IS
    v_cursor        INTEGER;
    v_colcnt        NUMBER DEFAULT 0;
    v_cnt           NUMBER DEFAULT 0;
    v_descrectable  dbms_sql.desc_tab;
BEGIN
   -- SQL실행을 위한 커서 오픈ㅡ 커서ID 리턴
   v_cursor := dbms_sql.open_cursor;
   dbms_sql.parse(  v_cursor,  p_sql, dbms_sql.NATIVE );
   -- 커서 SQL의 컬럼정보 셋팅, v_colcnt에 컬럼개수 셋팅, v_descrectable 배열에 컬럼정보셋팅
   dbms_sql.describe_columns(v_cursor, v_colcnt, v_descrectable );
   -- 컬럼개수만큼 반복하면서 정보 출력
   FOR I IN 1 .. v_colcnt
   LOOP
       dbms_output.put_line( 'Column Type:' || v_descrectable(I).col_type );
       dbms_output.put_line( 'Max Length:' || v_descrectable(I).col_max_len );
       dbms_output.put_line( 'Name:' || v_descrectable(I).col_name );
       dbms_output.put_line( 'Name Length:' || v_descrectable(I).col_name_len );
       dbms_output.put_line( 'Precision:' || v_descrectable(I).col_precision );  –전체
       dbms_output.put_line( 'Scale:' || v_descrectable(I).col_scale );  –소수자리
       IF ( v_descrectable(I).col_null_ok ) THEN
           dbms_output.put_line( 'Null허용:Y' );
       ELSE
           dbms_output.put_line( 'Null허용:N' );
       END IF;
       dbms_output.put_line( '-------------------------------');
   END LOOP;
   -- 커서 CLOSE
   dbms_sql.close_cursor(v_cursor);
EXCEPTION
   WHEN OTHERS THEN
      dbms_output.put_line(sqlerrm);
    IF dbms_sql.is_open(v_cursor) THEN
       dbms_sql.close_cursor(v_cursor);
    END IF;
END desc_query;

exec desc_query('select empno, ename, sal from emp');

Column Type:2
Max Length:22
Name:EMPNO
Name Length:5
Precision:4
Scale:0
Null허용:N
-------------------------------
Column Type:1
Max Length:10
Name:ENAME
Name Length:5
Precision:0
Scale:0
Null허용:Y
-------------------------------
Column Type:2
Max Length:22
Name:SAL
Name Length:3
Precision:7
Scale:2
Null허용:Y
-------------------------------




#오라클,#PLSQL,#DBMS_SQL.#DESCRIBE_COLUMNS, #DESC_TAB, #DESC_REC, #오라클교육, #SQL교육, #자바교육, #오라클학원, #SQL학원, #자바학원, 오라클,PLSQL,DBMS_SQL.DESCRIBE_COLUMNS, DESC_TAB, DESC_REC, 오라클교육, SQL교육, 자바교육, 오라클학원, SQL학원, 자바학원, 

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...