sql >> データベース >  >> RDS >> Sqlserver

SQLServer2008-テーブルの制約を取得する

    現在のsysを使用する必要があります カタログビュー(SQL Server 2005を使用している場合 以上-sysobjects ビューは非推奨です 避ける必要があります)-カタログビューに関するMSDN SQL ServerBooksOnlineの広範なドキュメントをここで確認してください。

    あなたが興味を持っているかもしれないかなりの数の見解があります:

    • sys.default_constraints 列のデフォルトの制約について
    • sys.check_constraints 列のチェック制約について
    • sys.key_constraints キー制約(主キーなど)の場合
    • sys.foreign_keys 外部キー関係の場合

    そしてもっと -チェックしてください!

    これらのビューをクエリして結合し、必要な情報を取得できます。これにより、テーブル、列、およびそれらに定義されているすべてのデフォルトの制約が一覧表示されます。

    SELECT 
        TableName = t.Name,
        ColumnName = c.Name,
        dc.Name,
        dc.definition
    FROM sys.tables t
    INNER JOIN sys.default_constraints dc ON t.object_id = dc.parent_object_id
    INNER JOIN sys.columns c ON dc.parent_object_id = c.object_id AND c.column_id = dc.parent_column_id
    ORDER BY t.Name
    


    1. 明確な値をすばやく見つける

    2. CTEエラー:アンカーと再帰部分の間でタイプが一致しません

    3. SQL Server(T-SQL)のパーティション関数のパラメータータイプを確認します

    4. SQLite DATEADD()と同等