可不可以给视图加约束?

stonemusic 2003-11-25 02:46:04
有一个视图,想限制其中某个字段不可以小于0,可不可以?
好像不行??...
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
youngby 2003-11-25
  • 打赏
  • 举报
回复





数据在源表中保存.你通过限制源表就行啦
txlicenhe 2003-11-25
  • 打赏
  • 举报
回复
同意大力。
zjcxc 元老 2003-11-25
  • 打赏
  • 举报
回复
你的限制是什么意思?

视图中是不保存数据的.

数据在源表中保存.你通过限制源表就行啦.
pengdali 2003-11-25
  • 打赏
  • 举报
回复
你的:

CREATE TRIGGER 名 on 视图
INSTEAD OF INSERT
AS
BEGIN
if exists(select 1 from inserted where 列<=0)
rollback tran

.....

END
pengdali 2003-11-25
  • 打赏
  • 举报
回复
如果插入用替代触发器:

create table a (a int,aa varchar(100))
create table b (b int,bb varchar(100))
go
create view c
as
select a.*,b.* from a,b where a.a=b.b
go

--测试:
insert c values(1,'aa',1,'bb')
--失败

go
CREATE TRIGGER 名 on c
INSTEAD OF INSERT
AS
BEGIN
INSERT a select a,aa from inserted
INSERT b select b,bb from inserted
END
go

--测试:
insert c values(1,'aa',1,'bb')
pengdali 2003-11-25
  • 打赏
  • 举报
回复
显示吗?你加where条件在后面:

select .......xx>=0

34,623

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧