sql server 视图

if exists(select * from sysobjects where name='proc_1')
drop proc proc_1
go
drop table score1
--成绩表
CREATE TABLE score1
(
    id1     int     primary key identity,
    sid     varchar(50),
    cid     varchar(50),
    score1  int
)
insert into score1 values(10000);
insert into score1 values('20111103090101','301',95);
insert into score values('20111103090101','302',95);
insert into score values('20111103090101','304',95);
insert into score values('20111103090102','301',75);
insert into score values('20111103090102','304',85);
insert into score values('20111103090103','301',88);
insert into score values('20111103090103','302',88);
insert into score values('20111103090103','303',88);

select * from score
select * from score1

--视图被看成是虚拟表,它并不代表任何的物理数据,只是用来查看数据的视窗
--视图结果是表数据,没有复杂处理的单表是可以修改的,如min求最小数,不是正常数据结果集,则不可以修改
--视图有两张基表,插入数据则会影响到两张表,故不能插入
--总之,若视图结果是一张正常的表数据,没有聚合函数等,都是可以修改的


--创建视图
create view view_1
as
select * from score, score1 
go

update view_1 set score1=88 from view_1 where score=88

猜你喜欢

转载自blog.csdn.net/yh12346789/article/details/79845971
今日推荐