ホームページ > データベース > mysql チュートリアル > SQL Server テーブルから主キーを取得するにはどうすればよいですか?

SQL Server テーブルから主キーを取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-05 19:09:12
オリジナル
519 人が閲覧しました

How Can I Retrieve Primary Keys from a SQL Server Table?

SQL Server でのテーブルの主キーの取得

データベース管理のコンテキストでは、テーブルの主キーを取得する方法を知ることが重要です。 。 SQL Server では、このタスクを実行するための複数の方法があります。

一般的な方法の 1 つは、組み込みコマンド OBJECTPROPERTY() を利用することです。このコマンドを使用すると、主キーを含むデータベース オブジェクトのプロパティに関する情報を取得できます。使用方法は次のとおりです。

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)), 'IsPrimaryKey') = 1
AND TABLE_NAME = 'TableName' AND TABLE_SCHEMA = 'Schema'
ログイン後にコピー

このクエリでは、OBJECTPROPERTY() 関数は、CONSTRAINT_NAMEIsPrimaryKey プロパティが有効かどうかを確認します。 > は 1 に設定され、列が主キーの一部であることを示します。 TABLE_NAME と TABLE_SCHEMA は、関心のあるテーブルとスキーマを指定します。

さらに、特定のバージョンの SQL Server の別のオプションは、

SYS.INDEXES テーブルを SYS.COLUMNS テーブル。このアプローチを使用すると、テーブルの主キーをプログラムで取得できます。

このクエリでは、sys.tables テーブルは主キーを取得するテーブルを表し、sys.indexes はインデックスを識別します。テーブル上で定義されています。 sys.index_columns テーブルには、各インデックスに含まれる列に関する情報が含まれており、sys.columns は主キー列の名前を提供します。
SELECT c.name
FROM sys.tables t
INNER JOIN sys.indexes i ON t.object_id = i.object_id
INNER JOIN sys.index_columns ic ON i.index_id = ic.index_id AND ic.is_primary_key = 1
INNER JOIN sys.columns c ON ic.column_id = c.column_id
WHERE t.name = 'TableName'
ログイン後にコピー

これらの手法を使用すると、テーブルの主キーを効果的に取得できます。 SQL Server を使用すると、データベースのテーブル構造をより深く理解できます。

以上がSQL Server テーブルから主キーを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート