关于union all 非分区表视图update delete操作

[复制链接]
查看11 | 回复2 | 2017-2-22 15:18:00 | 显示全部楼层 |阅读模式
CREATE TABLE dbo.T1

(

F1 int NOT NULL,

F2 nvarchar(50) NOTNULL,
F3 int NOT NULL

)ON [PRIMARY]
F1是主键, F2是唯一聚集索引
------------------------------------
create View V1
as
select * from T1
union all
select * from T2
-------------------------------------
T1,T2两个表结构一样的, 都有主键。union all 连接成一个视图。 不能更新。
Update V1 Set F3+=1 where F2='xxx'
提示不能更新视图V1,未能找到分区依据列。
有什么办法? 一定要用分区函数创建的表才行吗?

回复

使用道具 举报

千问 | 2017-2-22 15:18:00 | 显示全部楼层
基表没有约束,视图无法感知定位需要更新到哪个表.
回复

使用道具 举报

千问 | 2017-2-22 15:18:00 | 显示全部楼层
mssql_wangwang 发表于 2020-12-16 17:06
基表没有约束,视图无法感知定位需要更新到哪个表.

明白了。
我以为它可以用条件字段定位
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行