2011-02-09 8 views
5

特定の列がNULLを許可するかどうかを返す簡単なクエリはありますか?
これをDBアップグレードスクリプトの一部として変更したいと考えています。SQL:列に「Nullではない」プロパティがあるかどうかを確認します。

また、既に設定されていても、変更するだけの方がよいでしょうか?

編集:これは、SQL Serverのためのものです(2000年以降をサポートする必要がある)

+2

あなたが答えをしたい場合は、使用している実際のRDBMSでこれをタグ付けする必要があります。データベース上のイントロスペクションは、現実世界ではあまりよく標準化されていません。 –

+0

あなたはどのデータベースを使用していますか? –

答えて

16

任意の特定のRDBMS?

SQL Serverで

use master 

SELECT COLUMNPROPERTY(OBJECT_ID('dbo.spt_values'),'number','AllowsNull') 

または(より標準)

select IS_NULLABLE 
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_SCHEMA='dbo' 
     AND TABLE_NAME='spt_values' 
     AND COLUMN_NAME='number' 
+0

申し訳ありませんが、SQLとタグ付けしました。それはもっと目立つと思いました。 – Abort

+0

@Abort - 最大5つのタグを持つことができます!どのRDBMSを実際に使用していますか? –

+0

@Abort - SQLが言語です。 SQL Serverを意味しますか?その場合は、別のタグを追加します。 – JohnFx

関連する問題