2011-01-27 11 views
1

と一致していない私は&がそれを再作成するために、デフォルトの制約を実行するスクリプトました:再作成デフォルトの制約 - 新しい制約が

ALTER TABLE [dbo].[TableName] ADD CONSTRAINT 
[DF_TableName_TableNameID] DEFAULT (convert(uniqueidentifier,(convert(binary(10),newid()) + convert(binary(6),getdate())))) FOR [TableNameID] 

私はテーブルをチェックすると、それは次のようになります。

[DF_TableName_TableNameID] DEFAULT (CONVERT([uniqueidentifier],CONVERT([binary](10),newid(),0)+CONVERT([binary](6),getdate(),0),0)) 

変更された特別な理由はありますか?

答えて

1

制約は最も単純な形式に「コンパイル」され、制約の作成に使用された元のテキストは破棄されます。テーブルをチェックするときに見られる値は、同じ制約を表現する最も簡単な方法です。また、制約内にコメントを(たとえば)保存することもできません。

+0

私はいつも私を苛立たせています... – gbn

+0

感謝のダミアン - 私はSMOを使用してデータベースを作り直してから、SQLの比較をチェックして、エラーのボートロードを取得するので少し気になります。まぁ :) –