首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

如休替视图的计算列加上NOT NULL约束

2013-12-11 
如休为视图的计算列加上NOT NULL约束?比如下面的视图创建语句:ALTER VIEW [dbo].[vwClient_CompanyPerson]

如休为视图的计算列加上NOT NULL约束?
比如下面的视图创建语句:


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

热点排行