如何在表中创建新列并向其添加值

Posted

技术标签:

【中文标题】如何在表中创建新列并向其添加值【英文标题】:How to I create a new column in a table and add values to it 【发布时间】:2020-02-21 22:30:11 【问题描述】:

我必须在我的表中创建一个名为 Raise 的新列,它比 SAL 列的值提高了 20%,这是我目前所拥有的:

SELECT ENAME,EMPNO, JOB, SAL from emp
ALTER TABLE emp
ADD Raise (INTEGER)
ALTER TABLE emp
Raise=SAL+SAL*0.20

我不太确定我在这里做错了什么

【问题讨论】:

请用您正在使用的数据库标记您的问题。 【参考方案1】:

假设您使用的是 Oracle(因为您的表看起来像 EMP 来自 SCOTT 架构),这是您想要的吗?

alter table emp add raise number;
update emp set raise = sal * 1.2;

请注意,如果您想增加 20%,那么您可能希望结果是数字而不是整数。

【讨论】:

不知道有一个以我命名的架构 @urdearboy: :) - 实际上它是以 Oracle 数据库的原始设计者之一 Bruce Scott 的名字命名的...... 感谢 GMB,作为 SQL 新手,非常感谢您的帮助!【参考方案2】:

如果这只是针对 ADHOC 查询,那么

SELECT
    ename,
    empno, 
    job,
    sal,
    (sal * 1.2) raise
FROM emp

【讨论】:

【参考方案3】:

您可以定义一个虚拟列以每次自动填充 raise

alter table emp add raise number generated always as (sal*1.2) virtual;

【讨论】:

以上是关于如何在表中创建新列并向其添加值的主要内容,如果未能解决你的问题,请参考以下文章

如何编写用于在表中创建新拆分分区的 plsql 代码?

如何定位 UIBarButtonItem 并向其添加图像?

如何在提升进程间构造具有给定计数的向量并向其添加元素

如何淡出导航栏的最右侧并向其添加新按钮

如何在 cellTap 事件中获取特定的 RadCalendar Day Cell 并向其添加自定义样式

如何解析列并向表中添加更多记录?