[解決済み] テーブルのカラムのリストとデータ型、NOT NULL、PRIMARY KEY制約を取得するSQLサーバーのクエリ
2022-04-01 05:17:02
質問
SQLサーバーで、特定のテーブルのカラムのリスト、関連するデータ型(長さ付き)、およびそれらがヌルでないかどうかを取得するクエリを作成する必要があります。そして、私はこの多くを行うことができました。
しかし今、私はまた、同じテーブルで、列に対して取得する必要があります - 。
TRUE
そのカラムが主キーである場合。
どうすればいいのでしょうか?
私の期待する出力は
Column name | Data type | Length | isnull | Pk
解決方法は?
一部の列で行が重複しないように、system_type_idの代わりにuser_type_idを使用します。
SELECT
c.name 'Column Name',
t.Name 'Data type',
c.max_length 'Max Length',
c.precision ,
c.scale ,
c.is_nullable,
ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM
sys.columns c
INNER JOIN
sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN
sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN
sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
c.object_id = OBJECT_ID('YourTableName')
を置き換えるだけです。
YourTableName
を実際のテーブル名に置き換えてください - SQL Server 2005 以上で動作します。
スキーマを使用している場合は
YourTableName
で
YourSchemaName.YourTableName
ここで
YourSchemaName
は実際のスキーマ名であり
YourTableName
は実際のテーブル名です。
関連
-
[解決済み】Excelに合体的な関数はありますか?
-
[解決済み】SQLが単一グループのグループ関数でないこと
-
[解決済み】SQL Server サブクエリが1つ以上の値を返しました。サブクエリが =, !=, <, <= , >, >= に続く場合、これは許可されません。
-
[解決済み] ORA-12801: 並列クエリサーバー P004 および ORA-01555 でシグナルされたエラー: スナップショットが古すぎる。
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] "このSqlTransactionは完了しました。もう使用できません。"...設定エラー?
-
[解決済み] nvarchar 値 ... をデータ型 int に変換する際に、変換に失敗しました。
-
[解決済み] SQLサーバーで文字列をsmalldatetimeデータ型に変換する際、変換に失敗しました(静的値を除く)。
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み】SQL Serverのテキストカラムが空かどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】CREATE VIEW は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み] テーブルのFROM句の項目がない [終了しました] 。
-
[解決済み] バックエンドバージョンでは、データベースのダイアグラムやテーブルのデザインはサポートされていません。
-
[解決済み] SELECT DISTINCTを指定した場合、ORDER BY項目は必ず選択リストに表示されます。
-
[解決済み] 集計を行わずに行から列へピボット移動する
-
[解決済み] 検索エラー ORA-00932: 不整合なデータ型: 期待された DATE は NUMBER になりました。
-
[解決済み] Presto の JSON_EXTRACT で ' ' 文字を含むキーに問題がある。
-
[解決済み] PostgreSQL - json 型の等値演算子を識別できませんでした。
-
[解決済み] 時間を時間単位や10分単位でグループ化する方法
-
[解決済み] 1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定したコードページに対して無効な文字)