我有一个表,我想在其中选择某些列,然后根据该选择创建转换后的列。由于安全原因,我无法创建新表,并认为可能有一种方法可以在同一条语句中进行 SELECT 和 ALTER。
我在下面的语句运行,但未生成该列。我做错了什么/这种方法不可能吗?有更好的方法吗?
SELECT * col1,col2,col3 FROM db
AS db2
ALTER TABLE db2 ADD col4 AS (transformation) PERSISTED
指导和建议表示赞赏。
我有一个表,我想在其中选择某些列,然后根据该选择创建转换后的列。由于安全原因,我无法创建新表,并认为可能有一种方法可以在同一条语句中进行 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, col2, col3, col4
from db2
where ...