-1

表名 = TRANSACTION,我想从事务表创建另一个表 trans_temp,但将列 acc_no 重命名为 account_no。这一切都是在一个查询中完成的,谢谢...

4

2 回答 2

1

您可以使用以下CREATE ... AS SELECT语法:

CREATE TABLE trans_temp AS
SELECT
    acc_no AS account_no,
    tr_date,
    amt,
    type_of_tr,
    mode_of_pay
FROM transaction

查询返回的列名将成为新表中的列名。

请注意,CTAS 语法不负责在表上创建约束或索引。您需要手动重新创建它们。

于 2019-09-18T16:20:45.427 回答
1

如果您不想列出所有列,还有另一种方法:

create table trans_temp as
    select *
    from transaction;

alter table trans_temp modify acc_no account_no <type goes here>;

也许您根本不需要临时表,一个视图就足够了。

于 2019-09-18T16:32:28.333 回答