如何在表中创建新列并向其添加值
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;
【讨论】:
以上是关于如何在表中创建新列并向其添加值的主要内容,如果未能解决你的问题,请参考以下文章