如何使用与源表不同的列名创建视图

时间:2017-07-21 11:31:58

标签: sql sql-server

我有一个存储电子邮件数据的表。我遇到的挑战是某些列名称使用MSSQL保留字,例如To和FROM。

我在列名称周围放置括号,我的查询在查询设计器中工作正常,但挑战是我将从ASP.Net调用它。 ASP.Net中的Bracket语法表明它应该代替括号注入数据。

为了避免所有这些,我想创建一个View。如何更改视图中的列名以避免保留字?

SELECT        PortalID, [To], [From], Subject, Body, CreatedOnDate, CreatedByUserID
FROM            dbo.CoreMessaging_Messages

1 个答案:

答案 0 :(得分:0)

在视图中,您可以执行以下操作:

create view v_table as
    select PortalID, [To] as to_whatever, [From] as from_whatever,
           Subject, Body, CreatedOnDate, CreatedByUserID
    from dbo.CoreMessaging_Messages;

更简单的方法可能只是使用计算列:

alter table dbo.CoreMessaging_Messages
        add to_whatever as ([To]);

alter table dbo.CoreMessaging_Messages
        add from_whatever as ([From]);

然后,任何使用该表的人都可以使用替代名称。