0

嗨,我正在HR使用查询复制架构中的员工表:

Create table copy_employees as ( select last_name,salary*12 from employees);

但是错误表明salary需要别名。

在我做之后salary*12 as sal它起作用了。

我的问题是为什么需要这种别名?

4

1 回答 1

4

a CTAS( Create Table As Select) 语句就像 aCreate Table DDL statement其中列命名有一些约定,例如使用

  • the underscore "_"

  • the dollar sign "$"

  • pound sign "#"

    允许在列名中使用,但不允许"*"使用星号(如您的情况),因此无法创建包含带星号的列的表。在这种情况下,Oracle 尝试使用表达式salary*12作为列名并失败。

于 2019-06-02T10:29:06.037 回答