2009年7月6日月曜日

[SQL]テーブルのキーおよび制約の確認(SQLServer )

先日、各テーブルのキーおよび制約について調べる作業をしていました。
既存の資料との突合せであったため、テーブルと資料を確認しながら作業をしていました。
SQLServerなので、1つづつSQL Server Management Studioで見ていけばわかるのですが、だんだん面倒になってきました。
また、ツールなどのインストールに制限があったため、キーおよびキー項目の制約を調査するSQLを作ってみました。コードはこんな感じ。

DECLARE @TABLE_NAME varchar(128);
SET @TABLE_NAME = 'tblTEST3';

SELECT
     ST.name as TABLE_NAME
    ,SI.name as INDEX_NAME
    ,SC.name as COLMN_NAME
    ,SI.type_desc as INDEX_TYPE
    ,CASE SI.is_unique WHEN 1 THEN 'UNIQ' ELSE '' END as UNIQ
    ,CASE SC.is_nullable WHEN 1 THEN '' ELSE 'NON NULL' END as NON_NULL
    --,SI.is_unique
    --,SC.is_nullable
    --,SC.*
    --,SIC.*
FROM SYS.TABLES ST
    INNER JOIN SYS.INDEXES SI on ST.object_idSI.object_id
    INNER JOIN SYS.INDEX_COLUMNS SIC on SI.object_idSIC.object_id AND SI.index_idSIC.index_id
    INNER JOIN SYS.COLUMNS SC ON SC.object_idSI.object_id AND SC.column_id=SIC.column_id
WHERE ST.name = @TABLE_NAME

27 件のコメント:

  1. このコメントはブログの管理者によって削除されました。

    返信削除
  2. このコメントはブログの管理者によって削除されました。

    返信削除
  3. このコメントはブログの管理者によって削除されました。

    返信削除
  4. このコメントはブログの管理者によって削除されました。

    返信削除
  5. このコメントはブログの管理者によって削除されました。

    返信削除
  6. このコメントはブログの管理者によって削除されました。

    返信削除
  7. このコメントはブログの管理者によって削除されました。

    返信削除
  8. このコメントはブログの管理者によって削除されました。

    返信削除
  9. このコメントはブログの管理者によって削除されました。

    返信削除
  10. このコメントはブログの管理者によって削除されました。

    返信削除
  11. このコメントはブログの管理者によって削除されました。

    返信削除
  12. このコメントはブログの管理者によって削除されました。

    返信削除
  13. このコメントはブログの管理者によって削除されました。

    返信削除
  14. このコメントはブログの管理者によって削除されました。

    返信削除
  15. このコメントはブログの管理者によって削除されました。

    返信削除
  16. このコメントはブログの管理者によって削除されました。

    返信削除
  17. このコメントはブログの管理者によって削除されました。

    返信削除
  18. このコメントはブログの管理者によって削除されました。

    返信削除
  19. このコメントはブログの管理者によって削除されました。

    返信削除
  20. このコメントはブログの管理者によって削除されました。

    返信削除
  21. このコメントはブログの管理者によって削除されました。

    返信削除
  22. このコメントはブログの管理者によって削除されました。

    返信削除
  23. このコメントはブログの管理者によって削除されました。

    返信削除
  24. このコメントはブログの管理者によって削除されました。

    返信削除
  25. このコメントはブログの管理者によって削除されました。

    返信削除
  26. このコメントはブログの管理者によって削除されました。

    返信削除
  27. このコメントはブログの管理者によって削除されました。

    返信削除