数据库insert into加条件应该怎么样加?

我的意思是这样的,一个表有三个字段,分别为id,grade,rank。id不解释,grade是成绩,rank是指成绩所对应等级优良中差,如果说按insertinto这种插... 我的意思是这样的,一个表有三个字段,分别为id,grade,rank。id不解释,grade是成绩,rank是指成绩所对应等级优良中差,如果说按insert into这种插入法,这个优良中差也要自己去输入,但我想的是这个优良中差系统根据grade是多少而自动判断插入哪一项。简单地说就是,当成绩是88分时,就插入一个良,当成绩是66分时就插入一个中,就是加这样一个判定条件,请问在insert into语句中可以实现吗,或者有其它方法来实现吗? 展开
 我来答
dngoryaner
2013-03-29 · TA获得超过2350个赞
知道小有建树答主
回答量:2404
采纳率:0%
帮助的人:1136万
展开全部
可以,比如
insert into tablename(id,grade,rank)
values
(11,88
(select case when proc = 60 then ‘及格’ when proc = 80 then ‘良好’ else '优秀' end as qq from
tablename1 where proc=60))
这只能对一条操作、
你可以试下过程:
declare
v_v varchar2(10);
begin
for rs in(select id,grade,rank from tablename)loop
if rs.grade >60 and <80 then
v_v:='及格';
else if rs.grade >80 and <90 then
v_v:='良好';
else if rs.grade >90 and <=10 then
v_v:='优秀';
else
v_v:='差';
end if;
insert into tablename1(id,grade,rank)
values(主键,rs.grade,v_v);
end loop;
commit;
exception when others then
rollback;
dbms_output.put_line(SQLERRM);
end;
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
匿名用户
2013-03-30
展开全部
可以实现,而且很简单,用case语句就行了
insert into Table(grade, rank)
select 分数,
case when 分数>=90 then '优'
when 分数>=80 then '良'
when 分数>=60 then '中'
else '差' end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-29
展开全部
不知道你什么数据库。

看你的需求, 也就是你希望
INSERT INTO 表 (id, grade) VALUES ( 某个ID, 88 );

然后 SELECT * from 表 where id = 某个ID;

结果能够查询出:

id grade rank

某个ID 88 良

这种情况, 如果是 SQL Server , 那么可以直接使用 ”计算列“ 的方式来处理。

其他数据库, 可以通过 触发器的方式来处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈韩泰
2013-03-29 · TA获得超过107个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:102万
展开全部
有,数据库有触发器,你可以用行级触发器,当插入的时候判断分数,用T-SQL插入,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式