对于我的作业,我被要求编写一条 SQL 语句来执行以下操作。
在表中添加一个新列,registration
即 ( ),并更新与每个formodule_name char (15)
对应的该列。 是,因为是,因为是module_id
200
module name
digital diary
201
year planner
202
b’day remainder
我可以使用两个或更多语句来做到这一点,但是有什么方法可以在单个 sql 语句中完成吗?
是的,可以使用 DEFAULT:
CREATE TABLE registration(module_id INT);
INSERT INTO registration(module_id) VALUES (100),(200),(201),(202);
改变:
ALTER TABLE registration
ADD COLUMN module_name char(15)
DEFAULT (CASE module_id WHEN 200 THEN 'digital diary'
WHEN 201 THEN 'year planner'
WHEN 202 THEN 'b’day remainder'
END);
您不能在一个批处理中执行此操作,您可以使用EXEC
命令运行 sql 语句,这样您可以在两个不同的批处理和一个查询中执行此操作:
EXEC('statement1')
EXEC('statement2')
使用存储过程,并在那里编写您需要的任何语句。