print @@version /* Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Developer Edition on Windows NT 6.1 <X86> (Build 7600: )*/create table tb ( id int, name varchar(50), others varchar(255) ) go insert tb select 1,'aa','nn' union all select 2,'bb','nn' union all select 3,'cc','nn' union all select 4,'dd','nn' go create view v_test as select top 2 * from tb goexec sp_rename 'tb.others','value','column' go select * from v_test go /* id name others 1 aa nn 2 bb nn */ 这个版本也不报错 呵呵但是试图的字段名字还是之前的旧名字
这个可能算是mssql的一个bug吧
我已经测试过了,直接提示列名无效。
消息 207,级别 16,状态 1,过程 View_1,第 3 行
列名 'Col1' 无效。
消息 4413,级别 16,状态 1,第 1 行
由于绑定错误,无法使用视图或函数 'dbo.View_1'。
我已经测试过了,直接提示列名无效。
消息 207,级别 16,状态 1,过程 View_1,第 3 行
列名 'Col1' 无效。
消息 4413,级别 16,状态 1,第 1 行
由于绑定错误,无法使用视图或函数 'dbo.View_1'。2008 sp2不报错
我已经测试过了,直接提示列名无效。
消息 207,级别 16,状态 1,过程 View_1,第 3 行
列名 'Col1' 无效。
消息 4413,级别 16,状态 1,第 1 行
由于绑定错误,无法使用视图或函数 'dbo.View_1'。2008 sp2不报错
我使用的2008 r2
print @@version
/*
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
Jul 9 2008 14:43:34
Copyright (c) 1988-2008 Microsoft Corporation
Developer Edition on Windows NT 6.1 <X86> (Build 7600: )*/create table tb
(
id int,
name varchar(50),
others varchar(255)
)
go
insert tb
select 1,'aa','nn' union all
select 2,'bb','nn' union all
select 3,'cc','nn' union all
select 4,'dd','nn'
go
create view v_test
as
select top 2 * from tb
goexec sp_rename 'tb.others','value','column'
go
select * from v_test
go
/*
id name others
1 aa nn
2 bb nn
*/
这个版本也不报错 呵呵但是试图的字段名字还是之前的旧名字