1. ホーム
  2. sql-server

[解決済み] テーブルの定義を表示するT-SQLクエリ?

2022-07-26 06:17:09

質問

SQL Server テーブルのインデックスとキーを含む完全な定義を表示するクエリとはどのようなものですか? 私は純粋なクエリが欲しいのですが、SQL Studio がこれを提供してくれることは知っていますが、私はしばしば最も基本的なアプリケーションしかない "wild" コンピュータ上にいて、スタジオをインストールする権利を持っていません。 しかし、SQLCMD は常に選択肢の 1 つです。

UPDATE: sp_helpを試しましたが、Name、Owner、Type、Created_Datetimeを示す1つのレコードを得るだけです。 sp_help で私が見逃している何か他のものがありますか?

以下は、私が呼び出したものです。

sp_help空港

テーブルを定義するDDLが本当に必要であることに注意してください。

どのように解決するのですか?

DDLを返す簡単な方法はありません。しかし、以下のサイトからほとんどの詳細を得ることができます。 情報スキーマビュー システムビュー .

SELECT ORDINAL_POSITION, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
       , IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Customers'

SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
WHERE TABLE_NAME = 'Customers'

SELECT name, type_desc, is_unique, is_primary_key
FROM sys.indexes
WHERE [object_id] = OBJECT_ID('dbo.Customers')