SQL在同一条语句中选择和更改表

问题描述

我有一个表,我想在其中选择某些列,然后根据该选择创建转换后的列。出于安全原因,我无法创建新表,并认为在同一条语句中可能存在SELECT和ALTER的方法

我的下面的语句运行,但是没有生成该列。我做错什么了/这种方法行不通吗?有更好的方法吗?

SELECT * col1,col2,col3 FROM db
AS db2
ALTER TABLE db2 ADD col4 AS (transformation) PERSISTED

指导和推荐表示赞赏。

解决方法

您可能只需要执行查询,或者,如果您想经常查询数据,则可以在数据库中查看。

在SQL Server以及最可能在其他SQL变体中,您可以使用下一条语句创建视图(db将是表名,db2视图名):

create view db2 as
select col1,col2,col3,(transformation) as col4
from db

通常,您需要为其授予一些权限,除非您是它的唯一用户。

创建视图是一项一次性的任务,之后您可以按以下方式查询数据:

select col1,col4
from db2
where ...

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...