2017-07-28 10 views
0

以下の2つのチェックを1つの選択で行うことはできますか?私は最初にテーブルが存在するかどうかをチェックしていますが、デフォルト値があるかどうかを確認しています。テーブルが存在し、デフォルト値を持っていることを確認する

テーブルが存在し、デフォルト値を持っているかどうかをチェックすることはできますか?

IF EXISTS (SELECT 1 FROM syscolumns c WHERE c.id = OBJECT_ID('EX_EMPLOYEE') 
AND c.name = 'B_TIME') 
begin 
IF NOT EXISTS(select * from sys.all_columns c join sys.tables t on t.object_id = c.object_id join sys.schemas s on s.schema_id = t.schema_id 
join sys.default_constraints d on c.default_object_id = d.object_id 
where t.name = 'EX_EMPLOYEE' and c.name = 'B_TIME') 
     BEGIN 
     EXECUTE ('ALTER TABLE EX_EMPLOYEE ADD DEFAULT 1 for B_TIME') 
     END 
END 
GO 
+0

デフォルト値はどういう意味ですか? – Coder1991

+0

@ Coder1991テーブルの各列にデフォルト値を与えることができます。 –

答えて

0

したがって、1つのif節で両方の条件をチェックする必要がある場合は、次のようにすることができます。

関連する問題