国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > Sqlserver > More than two parts of column name 错误的解决方案

More than two parts of column name 错误的解决方案

来源:程序员人生   发布时间:2014-02-27 19:42:41 阅读次数:2407次

摘要:本文主要介绍我在将一个本地数据迁移到SQL Azure数据库时,遇到的一个错误信息“Deprecated feature 'More than two-part column name' is not supported in this version of SQL Server.” (“列名多于两个组成部分”),及其解决办法。

关键词: SQL Azure, TSQL, SQL Server 2008

我在把本地数据迁移到SQL Azure时,执行如下脚本时:

CREATE VIEW [dbo].[V_UserName]
AS
SELECT dbo.[User].Email FROM dbo.[User]
GO

出现错误信息:

Msg 40512, Level 16, State 1, Procedure V_UserName, Line 3
Deprecated feature 'More than two-part column name' is not supported in this version of SQL Server.

这个错误信息是由于在SELECT语句中列名dbo.[User].Email 由多于两个部分组成。在MSDN的相关文档(中文版:http://msdn.microsoft.com/zh-cn/library/ms143729.aspx, 英文版:http://msdn.microsoft.com/en-us/library/ms143729.aspx)中,有这个说明:在SQL Server 2008里支持 ,但是在SQL Server 2008之后的版本(具体哪一版本尚未确定)不再支持的功能列表里,包含这个功能,SELECT语句中的列名标准格式应该是由两部分组成,不支持三个部分或者四个部分组成的列名。通过这个例子,我们可以知道这个功能在SQL Azure数据库已经不再被支持。

 

解决办法:我们可以去掉服务器名dbo, 执行如下语句:

CREATE VIEW [dbo].[V_UserName]
AS
SELECT [User].Email FROM dbo.[User]
GO

【参考资料】

1. SQL Azure Notes, http://www.tewari.info/2009/09/10/sql-azure-notes/, 10 Sep, 2009

2. Deprecated Database Engine Features in SQL Server 2008, http://msdn.microsoft.com/en-us/library/ms143729.aspx, MSDN

3. SQL Server 2008 中不推荐使用的数据库引擎功能, http://msdn.microsoft.com/zh-cn/library/ms143729.aspx, MSDN

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生