0

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

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

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

指导和建议表示赞赏。

4

1 回答 1

0

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

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

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

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

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

select col1, col2, col3, col4
from db2
where ...
于 2020-10-09T15:03:26.323 回答