CREATE PROCEDURE: - 我有一个名为EVALUATOR的表,其中包含TAG列。我需要查找列TAG是否具有NULL值。如果是,则使用TAG表中的值更新它。
TAG tabel:
Tag_id tag_name tag
1 c++ cp
2 oracle orc
3 java jv
EVALUATOR表:
eval_id eval_name domain specialization tag
1 JOHN DATABASE oracle NULL
2 MATTHEW PROGRAMMING JAVA jv
3 EDWARD PROGRAMMING C++ NULL
答案 0 :(得分:1)
通常,您可以像这样更新空标记值
update evaluator
set tag = 'some_tag'
where tag is null
答案 1 :(得分:0)
如果tag
表中有某种“默认”值:
update evaluator
set tag = (select t.tag from tag where isdefault = 1)
where tag is null;
我怀疑你想要这样的东西:
update evaluator e
set tag = (select t.tag from tag t where e.specialization = t.tag_name)
where e.tag is null;
答案 2 :(得分:0)
取决于您希望以何种方式更新记录。
如果您想手动更新,请使用:
update EVALUATOR
set tag = 'my_common_tag_to_all_null_values'
where tag is null
或 如果您想使用join更新,请使用: Fiddle Demo
create table TAG(
tag_id int identity(1,1),
tag_name varchar(50),
tag varchar(50)
)
insert into TAG (tag_name,tag) values('c++','cp'),
('oracle','orc'),('java','jv')
create table EVALUATOR(
eval_id int identity(1,1),
eval_name varchar(50),
domain varchar(50),
specialization varchar(50),
tag varchar(50)
)
查询:
update ed
set ed.tag=tg.tag
from EVALUATOR ed join TAG tg on tg.tag_name=ed.specialization where
ed.tag is null
select * from EVALUATOR