如休替视图的计算列加上NOT NULL约束
如休为视图的计算列加上NOT NULL约束?
比如下面的视图创建语句:
如何为CompanyPersonID加上NOT NULL约束?谢谢!!!
------解决方案--------------------
view是视图,没有表结构,使用对列使用约束,只能对select添加where条件。
你在from后添加 where CompanyPersonID is not null就可以。
------解决方案--------------------
select * from vwClient_CompanyPerson where CompanyPersonID is not null
------解决方案--------------------
你要给CompanyPersonID 这个加上not null的约束,好像不行,我觉得还不如把语句改成这样:
ALTER VIEW [dbo].[vwClient_CompanyPerson]
WITH SCHEMABINDING
AS
SELECT
isnull(A.CompanyID*1000,0)+isnull(B.PersonID,0) AS CompanyPersonID, A.CompanyID, B.PersonID
FROM
dbo.tblCompany AS A INNER JOIN
dbo.tblPerson AS B ON B.CompanyID=A.CompanyID
比如下面的视图创建语句:
ALTER VIEW [dbo].[vwClient_CompanyPerson]
WITH SCHEMABINDING
AS
SELECT
A.CompanyID*1000+B.PersonID AS CompanyPersonID, A.CompanyID, B.PersonID
FROM
dbo.tblCompany AS A INNER JOIN
dbo.tblPerson AS B ON B.CompanyID=A.CompanyID
如何为CompanyPersonID加上NOT NULL约束?谢谢!!!
------解决方案--------------------
view是视图,没有表结构,使用对列使用约束,只能对select添加where条件。
你在from后添加 where CompanyPersonID is not null就可以。
------解决方案--------------------
2
3
4
5
6
7
8
ALTER VIEW [dbo].[vwClient_CompanyPerson]
WITH SCHEMABINDING
AS
SELECT
A.CompanyID*1000+B.PersonID AS CompanyPersonID, A.CompanyID, B.PersonID
FROM
dbo.tblCompany AS A INNER JOIN
dbo.tblPerson AS B ON B.CompanyID=A.CompanyID
select * from vwClient_CompanyPerson where CompanyPersonID is not null
------解决方案--------------------
你要给CompanyPersonID 这个加上not null的约束,好像不行,我觉得还不如把语句改成这样:
ALTER VIEW [dbo].[vwClient_CompanyPerson]
WITH SCHEMABINDING
AS
SELECT
isnull(A.CompanyID*1000,0)+isnull(B.PersonID,0) AS CompanyPersonID, A.CompanyID, B.PersonID
FROM
dbo.tblCompany AS A INNER JOIN
dbo.tblPerson AS B ON B.CompanyID=A.CompanyID