我正在數據庫中構建一個代碼簿。 在那裏,我有三列:如何在ms sql中更改約束條件(如果其他位列爲真)
[IDReal] int identity (1,1), [IsReal] bit not null, [Code] nvarchar (20) null
現在我不知怎麼,當用戶改變[伊斯雷爾] 1,即我的專欄[編號]更改爲NOT NULL,獨特的,反之亦然。
我試圖像
CREATE TABLE [dbo].[sReal](
[IDReal] [int] IDENTITY(1,1) NOT NULL,
[Code] [nvarchar](20) NULL,
[IsReal] [bit] NOT NULL,
ALTER TABLE [dbo].[sReal] ADD CONSTRAINT [DEF_IsReal] DEFAULT ((0)) FOR [IsReal]
GO
ALTER TABLE [dbo].[sReal] ADD CONSTRAINT [CHNG_IsReal] IF [IsReal]=1 THEN (ALTER TABLE [dbo].[sReal] ALTER COLUMN [Code] [nvarchar](20) not null unique)
ELSE END IF
GO`
這東西,當然,不工作,我不能使用觸發器或函數或過程來解決。
是否有任何其他解決方案來完成我想要做的事情。