複雜的SQL約束基本上我想在我的約束邏輯是這樣的......依賴於FK
IF([AssetTypeId] = 1)
THEN
[FileId] IS NOT NULL AND [Url] IS NULL
END
IF([AssetTypeId] = 0)
THEN
[FileId] IS NULL AND [Url] IS NOT NULL)
END
AssetTypeId是對當前表FK參考/約束。 我得到的錯誤提示語法錯誤沒有母校如何我這個字有一個例外,當我做到這一點...
([AssetTypeId] = 1) AND [FileId] IS NOT NULL AND [Url] IS NULL
OR
([AssetTypeId] = 0) AND [FileId] IS NULL AND [Url] IS NOT NULL
它給我這個錯誤:
'Asset (dbo)' table
- Unable to add constraint 'CK_Asset_FileIdOrUrlRequiredNotBoth'.
The ALTER TABLE statement conflicted with the CHECK constraint "CK_Asset_FileIdOrUrlRequiredNotBoth". The conflict occurred in database "MyDb", table
「dbo.Asset」 。
我似乎無法弄清楚爲什麼SQL不會讓我這樣做。 任何想法傢伙?
你能廣告你的表的'CREATE語句TABLE'? – 2012-08-09 14:51:20