2017-02-02 13 views
0

私は別のデータベースで作業しています。私は、データ型uniqueidentifierとどのデフォルト値にはデフォルト値を持っていないか、SQL Serverの既定値またはプライマリキーのバインドを持たないテーブルを返すクエリ

enter image description here

をバインドすることは誰も私を助けてくださいと主キーを持つテーブルの名前を返します。クエリを記述する必要がありますか?前もって感謝します。

+0

[OFF-TOPIC]なぜあなたは主キー列にデフォルトの制約を作成していますか?私はそれを使用して表示されません。最大でデフォルト値は1回だけ挿入できます –

+0

私はデフォルトの制約を作成していません。それは他の人によって作成された古いデータベースですが、私はそれに取り組まなければなりません。 – pedram

+0

見て[こちら](http://stackoverflow.com/questions/3930338/sql-server-get-table-primary-key-using-sql-query)と[ここ](http://stackoverflow.com/questions/95967/how-do-you-list-the-primary-key-of-a-sql-server-table)を参照してください。 –

答えて

0

私はINFORMATION_SCHEMAを使用することを好む:

SELECT C.TABLE_CATALOG, 
     C.TABLE_SCHEMA, 
     C.TABLE_NAME, 
     C.COLUMN_NAME, 
     C.DATA_TYPE, 
     C.COLUMN_DEFAULT 
FROM INFORMATION_SCHEMA.COLUMNS C 
     INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE U 
      ON C.TABLE_CATALOG = U.TABLE_CATALOG 
       AND C.TABLE_SCHEMA = U.TABLE_SCHEMA 
       AND C.TABLE_NAME = U.TABLE_NAME 
       AND C.COLUMN_NAME = U.COLUMN_NAME 
WHERE OBJECTPROPERTY(OBJECT_ID(U.CONSTRAINT_SCHEMA + '.' + QUOTENAME(U.CONSTRAINT_NAME)), 'IsPrimaryKey') = 1 
     AND C.DATA_TYPE = 'uniqueidentifier' 
     AND C.COLUMN_DEFAULT IS NULL 
関連する問題