oracle 触发器。当表中期中成绩字段或期末成绩字段任一个改变时 总成绩随之改变。

问题描述

已有表examscore 表中总成绩应该等于期中成绩与期末成绩之和。现在希望写一个触发器 在期中成绩或期末成绩改变时 总成绩随之改变————————————————————————————————————表描述如下:——————————————————————————————————————表中数据:——————————————————————————————————————自己乱写的代码,出错:DECLARE PRAGMA AUTONOMOUS_TRANSACTIO;create or replace trigger SumScoreTri after update on examscore for each row declare newMid INT; newFinal INT; -- local variables here begin select :new.期中成绩 into newMid from examscore; select :new.期末成绩 into newFinal from examscore; update examscore set 总成绩=newFinal+newMid;end SumScoreTri;——————————————————————————————————望指教。

解决方案

触发器的性能总是差一点的或许可以考虑视图呢,总成绩字段通过计算得出来

时间: 2024-09-29 14:47:34

oracle 触发器。当表中期中成绩字段或期末成绩字段任一个改变时 总成绩随之改变。的相关文章

oracle修改一个表中的主键字段值,与其外键关联的另一个表中的相应字段值也改变

问题描述 oracle修改一个表中的主键字段值,与其外键关联的另一个表中的相应字段值也改变 oracle 中修改一个表中的主键字段值,与其外键关联的另一个表中的相应字段值也改变? 有如下两张表,表a和表b 表a 结构如下: ID Name age 1 lisi 18 2 wangwu 21 3 sunliu 34 4 yiliu 24 ... ... ... 其中ID字段为表a主键且自增 表b结构如下: CID CNAME ID 1 aaaaa 1 2 bbbbb 2 3 cccccc 4 4

Oracle如何删除表中重复记录

Oracle如何删除表中重复记录 1  引言 在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来读诸多不便,那么怎么删除这些重复没有用的数据呢? 平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录. 2  处理过程 重复的数据可能有这样两种情况:第一种是表中只有某些字段一样,第二种是两行记录完全一样.删除重复记录后的结果也分为2种,第一种是重复的记录全部删除,第二种是重

db2-DB2中如何把一个表中一条记录的多个字段的值赋值给另一个表中的相应字段

问题描述 DB2中如何把一个表中一条记录的多个字段的值赋值给另一个表中的相应字段 例如表a 工号 姓名 年龄 性别 001 张三 30 男 002 李四 40 男 表b 工号 姓名 性别 岗位 住址 如何把表a中的第一条记录的字段(工号,姓名,性别)的值赋值给表b 解决方案 所有的数据库都可以象下面这样指定字段的啊 INSERT INTO 表b(工号姓名性别) SELECT 工号姓名性别 FROM 表a

oracle能给表中数据赋予权限么?

问题描述 oracle能给表中数据赋予权限么? 现在我有一张教师表和一张学生学籍表,需要让教师具有查看学生学籍的权限能不能实现? 如果能实现,该怎么实现?(请注意,这里是教师表,不是oracle用户) 解决方案 不能满足你的要求,你这个授权需要通过自己的业务逻辑去实现.orzcle中的授权是针对oracle用户的授权,你这个是针对业务数据的授权,oracle是搞不定的.可以增加角色表,在角色中的用户都可以查看学生学籍 解决方案二: 你自己都说了不是oracle用户, 你可以判断用户是不是存在与教

Oracle查询一个表中的几万条数据,不用or,优化的方法还有什么呢

问题描述 Oracle查询一个表中的几万条数据,不用or,优化的方法还有什么呢 如:name numbers a 22 b 33 c 44 d 55 . . . 查询a.b.d的详细信息,不用or in之类的 解决方案 用 EXISTS ........

多个字段筛选数据-一个表没有主键,怎么通过表中的2个或多个字段进行数据筛选查询

问题描述 一个表没有主键,怎么通过表中的2个或多个字段进行数据筛选查询 表如图,表中有3个字段,但不没有主键,我希望查询出pid不等于1并且name不等于n2的记录,期望的结果如下: pid name value 1 n1 1 1 n3 1 2 n2 2 2 n4 3 解决方案 SELECT * FROM demo where pid<>1 and name<>'n2' 解决方案二: 哥 你这条语句只筛选出了我不希望要的数据, 我要的数据是这样,排除掉pid = 1 并且 name

在Oracle中如何利用Rowid查找和删除表中的重复记录

oracle|重复|重复记录 平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录. 下面总结一下几种查找和删除重复记录的方法(以表CZ为例):表CZ的结构如下:SQL> desc cz Name                                      Null?    Type ----------------------------------------- -------- ------------

确定Oracle数据库表中重复记录的方法

作为一个Oracle数据库开发者或者DBA,在实际工作中经常会遇到这样的问题:试图对库表中的某一列或几列创建唯一索引时,系统提示ORA-01452:不能创建唯一索引,发现重复记录. 下面我们以表code_ref为例来讨论这个问题及其解决办法. ERROR位于第1行: ORA-01452: 无法 CREATE UNIQUE INDEX:找到重复的关键字 Oracle系统提示不能对表code_ref创建一个唯一索引,因为系统发现表中存在重复的记录.我们必须首先找到表中的重复记录并删除该记录,才可以创

将mysql数据库表中的部分数据导入到oracle数据库中

问题描述 将mysql数据库表中的部分数据导入到oracle数据库中 有一个问题:需要将Mysql数据库表中的某些数据导入oracle数据库的表中,需要通过传递文件来实现.比如将mysql数据生成.sql文件,然后执行该文件就可以写入到oracle数据库中.希望各位高手给个思路,谢谢 解决方案 可以用sql命令把数据导出到文件,e然后再把文件导入数据库 解决方案二: 你自己思路不是已经很清晰了吗? or你的意思是需要定时自动导入? 自动导入的话 估计需要借助写个程序实现了 解决方案三: 你自己思