视图小问题

有这样一个例子。

CREATE TABLE T1 (a INT ,b INT)

INSERT INTO dbo.T1
        ( a, b )
VALUES  ( 1,  2   ),(3,4)
go
CREATE VIEW V1 AS SELECT * FROM dbo.T1 GO


DROP TABLE T1 ;
GO

CREATE TABLE T1 (c INT ,d INT)
GO

INSERT INTO dbo.T1
        ( c, d )
VALUES  ( 1,  2   ),(3,4)

然后再查询视图, 返回的栏位是如何呢?

a b
----------- -----------
1 2
3 4

这是因为虽然修改了表结构,但是视图里面的结构还没有刷新,在视图里面保存的列还是a,b 两列,所以就查出来还是 a,b 两列

 

SELECT name,column_id FROM sys.columns WHERE object_id = object_id('V1')


name  column_id
--------------------------- -----------
a                                1
b                                 2

 

PS:所以,如果修改了表,请留意相关视图是否正常,也要小心表结构尽量不要动

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值