SQL语句 创建一个表(姓名,成绩),用IF…ELSE查询是否有成绩,有成绩,则更新,都加5分。

SQL语句 创建一个表(姓名,成绩),用IF…ELSE查询是否有成绩,有成绩,则更新,都加5分。没有成绩则用INSERT插入成绩。
我写了程序了。就是老出错。高手出来讲解一下。并写出正确的。谢谢了。

IF EXISTS (SELECT 成绩 FROM 成绩表 WHERE 成绩= ASCII ('NULL') )
INSERT INTO 成绩表(成绩) VALUES ('90')
ELSE
UPDATE 成绩表
SET 成绩=成绩+5

第1个回答  推荐于2020-12-07
也不知你的成绩字段怎么搞的,条件就你的吧。你是的if 中只是更新当前记录。

IF EXISTS (SELECT 成绩 FROM 成绩表 WHERE 成绩= ASCII ('NULL') )
UPDATE 成绩表
SET 成绩=90 WHERE 成绩= ASCII ('NULL')
ELSE
UPDATE 成绩表
SET 成绩=成绩+5
第2个回答  2010-12-12
话说你这个问题本身没表达清楚,有成绩,是指有某个人的成绩吧??
连接条件应该是姓名,然后判断基准是姓名在表里有的话,成绩有:+5分,成绩无:更新新成绩进去,如果姓名不存在的话插入姓名+成绩
第3个回答  2010-12-10
IF ((SELECT count(*) FROM 成绩表) >0 )
UPDATE 成绩表
SET 成绩=成绩+5
ELSE
INSERT INTO 成绩表(成绩) VALUES ('90')
第4个回答  2010-12-10
IF EXISTS (SELECT 成绩 FROM 成绩表 WHERE 成绩= ‘’ and 姓名<>'' )
INSERT INTO 成绩表(成绩) VALUES ('90')
ELSE
UPDATE 成绩表
SET 成绩=成绩+5
第5个回答  2010-12-10
语句没什么问题,什么错误提示
成绩不应该是字符型的吧,'90'改成90试试本回答被网友采纳