C#やASP.NETをはじめとするプログラミング技術日記を綴っていきます。
Categories
Archives
メールマガジン
【SQLServer Compact】フィールド一覧の取得
SQLServer Compact Editionでフィールド一覧を取得する方法です。
PKかどうかを判定するために、インデックス表のPKレコードが結合できたときにPKとみなしています。
「@TABLE_NAME」は、バインド変数なので、対象としたいテーブル名を入れてください。
SELECT
A.COLUMN_NAME AS FIELD_NAME,
A.DATA_TYPE AS FIELD_TYPE,
A.AUTOINC_INCREMENT,
A.CHARACTER_MAXIMUM_LENGTH,
CASE WHEN B.PRIMARY_KEY IS NULL THEN 0 ELSE 1 END AS IS_PK,
A.IS_NULLABLE
FROM
INFORMATION_SCHEMA.COLUMNS AS A
LEFT OUTER JOIN INFORMATION_SCHEMA.INDEXES AS B ON A.COLUMN_NAME = B.COLUMN_NAME AND B.PRIMARY_KEY = 1
WHERE
A.TABLE_NAME = @TABLE_NAME
ORDER BY
A.ORDINAL_POSITION
このエントリーのトラックバックURL:
http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/492