下面是我的表格:
Id Name City Managerid
------------------------------
1 Shawn NYC 3
2 Kevin Mumbai 4
3 Ryan Mumbai 1
4 Kanye SF 1
现在我想添加一个名为'Gender‘的带有值的新列
分别在4行中。
我首先使用以下命令添加了一个新列:
alter table employee add gender varchar(50)
现在我明白了,我可以使用以下命令逐个添加数据:
update employee
set gender = 'M'
where id = 1
但是如何一次添加所有4个数据呢?
发布于 2018-04-12 07:40:08
创建并填充表值变量
要添加到新列中的数据。
将该列添加到目标表中,请注意,该列必须
从一开始就能做到。
执行
使用
使用原始表值变量。
将新添加的列更改为
-假设所有行现在都有一个值。
如下所示:
-- 1:
DECLARE @genderInfo AS TABLE
(
EmployeeId int PRIMARY KEY,
Gender varchar(50) NOT NULL
)
INSERT INTO @genderInfo ( EmployeeId, Gender ) VALUES
( 1, 'M' ),
( 2, 'M' ),
( 3, 'M' ),
( 4, 'F' );
-- 2:
ALTER TABLE
Employees
ADD
Gender varchar(50) NULL;
-- 3:
UPDATE
e
SET
e.Gender = gi.Gender
FROM
Employees AS E
INNER JOIN @genderInfo AS gi ON e.EmployeeId = gi.EmployeeId
-- 4:
ALTER TABLE
Employees
ALTER COLUMN
Gender varchar(50) NOT NULL;
https://stackoverflow.com/questions/49785828
复制相似问题