oracle - 在 oracle 中复制表时的列别名
问题描述
嗨,我正在HR
使用查询复制架构中的员工表:
Create table copy_employees as ( select last_name,salary*12 from employees);
但是错误表明salary需要别名。
在我做之后salary*12 as sal
它起作用了。
我的问题是为什么需要这种别名?
解决方案
a CTAS
( Create Table As Select
) 语句就像 aCreate Table DDL statement
其中列命名有一些约定,例如使用
the underscore "_"
the dollar sign "$"
pound sign "#"
允许在列名中使用,但不允许
"*"
使用星号(如您的情况),因此无法创建包含带星号的列的表。在这种情况下,Oracle 尝试使用表达式salary*12
作为列名并失败。
推荐阅读
- java - 将数组转换为 LinkedList
- java - 如何通过具有多个级别数组的 Gson 对象
- java - @Mock jpaRepository 在另一方面调用真正的保存方法 @MockBean 调用模拟方法
- haskell - 这个 Haskell 程序是否提供了“免费定理!”的示例?
- javascript - 如何在一行中为移动设备和桌面分配一个 CSS 值
- java - 在 JSON 格式的 log4j 模式布局中添加异常
- ios - 对我应该观察哪些应用程序状态通知感到困惑
- r - 根据推文中的关键字分配 ID
- ios - 更改 UITableView 中一些选定的表格视图单元格文本的颜色
- c - C 最低标准要求