Home > データベース > 【Oracle】フィールド一覧の取得

【Oracle】フィールド一覧の取得

Oracleで、フィールド一覧を取得する方法です。
TABLE、VIEWが対象になります。
ストアドはソースが取得できるのですが、パラメータ情報の取得方法は無さそうです。
面倒くさいけど、地道に解析するしか無さそうです。

「:TABLE_NAME」は、バインド変数なので、対象としたいテーブル名を入れてください。

DATA_PRECISION、DATA_SCALE の2つを組み合わせると、NUMBER型の桁数を求めることができます。
NUMBER型の場合は、常にFIELD_SIZE = 22で返ってくるので、注意してください。

SELECT 
    A.COLUMN_NAME AS FIELD_NAME, 
    A.DATA_TYPE AS FIELD_TYPE, 
    A.DATA_LENGTH AS FIELD_SIZE, 
    DECODE(C.POSITION, NULL, 0, 1) AS IS_PK, 
    A.NULLABLE,
    A.DATA_PRECISION, 
    A.DATA_SCALE 
FROM 
    USER_TAB_COLUMNS A 
    LEFT OUTER JOIN USER_CONSTRAINTS B ON A.TABLE_NAME = B.TABLE_NAME AND B.CONSTRAINT_TYPE = 'P' 
    LEFT OUTER JOIN USER_CONS_COLUMNS C ON B.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND A.COLUMN_NAME = C.COLUMN_NAME 
WHERE 
    A.TABLE_NAME = :TABLE_NAME 
ORDER BY 
    A.TABLE_NAME, 
    A.COLUMN_ID

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/494
Listed below are links to weblogs that reference
【Oracle】フィールド一覧の取得 from 爆裂!C#野郎

Home > データベース > 【Oracle】フィールド一覧の取得

Search
Feeds
Tag Cloud
Recommend

SQLパズル 第2版 プログラミングが変わる書き方/考え方
SQLパズル 第2版 プログラミングが変わる書き方/考え方

ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系
ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系

ITアーキテクト vol.1
ITアーキテクト vol.1

オブジェクト指向における再利用のためのデザインパターン
オブジェクト指向における再利用のためのデザインパターン

増補改訂版 Java言語で学ぶデザインパターン入門
増補改訂版 Java言語で学ぶデザインパターン入門

増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編
増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編

J2EEデザインパターン
J2EEデザインパターン

アンチパターン―ソフトウェア危篤患者の救出
アンチパターン―ソフトウェア危篤患者の救出

世界でいちばん簡単なネットワークのe本―ネットワークとTCP/IPの基本と考え方がわかる本
世界でいちばん簡単なネットワークのe本―ネットワークとTCP/IPの基本と考え方がわかる本

Return to page top