ホームページ > データベース > mysql チュートリアル > SQL クエリを使用して SQL Server でテーブルの主キーを検索する方法

SQL クエリを使用して SQL Server でテーブルの主キーを検索する方法

DDD
リリース: 2025-01-05 19:28:39
オリジナル
452 人が閲覧しました

How to Find a Table's Primary Key in SQL Server Using SQL Queries?

SQL Server で SQL クエリを使用したテーブルの主キーの検索

SQL Server で SQL クエリを使用してテーブルの主キーを取得するには、若干の手順が必要ですMySQL とは異なるアプローチ。次のクエリ オプションを調べて主キー情報を取得します。

SQL Server クエリ:

SQL Server でよく使用されるクエリの 1 つは次のとおりです。

SELECT name AS PrimaryKey
FROM sysobjects
WHERE xtype = 'PK' AND name IN (
    SELECT name 
    FROM sysindexes 
    WHERE id = object_id(TableName)
)
ログイン後にコピー

TableName をクエリ内の実際のテーブル名に置き換えます。

別の SQL Serverクエリ:

SQL Server の代替クエリを以下に示します。

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'
ログイン後にコピー

再度、TableName と Schema を適切な値に置き換えます。

Universal MySQL および SQL Server のクエリ (非推奨):

直接的なクエリはありませんが、 SQL Server の質問で述べた MySQL クエリと同等ですが、両方のデータベース システムで機能する、より複雑なクエリを使用できます。

SELECT T.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS AS T
LEFT JOIN 
    (SELECT DISTINCT C.TABLE_NAME, C.COLUMN_NAME
    FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS U
    JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS C
        ON U.TABLE_SCHEMA = C.TABLE_SCHEMA
        AND U.TABLE_NAME = C.TABLE_NAME
        AND U.CONSTRAINT_NAME = C.CONSTRAINT_NAME) AS S
    ON T.TABLE_NAME = S.TABLE_NAME AND T.COLUMN_NAME = S.COLUMN_NAME
WHERE T.TABLE_SCHEMA = 'TableName_Schema' AND T.TABLE_NAME = 'TableName'
ログイン後にコピー

このクエリは MySQL と SQL Server の両方で機能しますが、効率が低いため、最適なパフォーマンスを得るには推奨されません。

以上がSQL クエリを使用して SQL Server でテーブルの主キーを検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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