分不多了作最后的争扎看看这里的专家能否解决我的问题

cqnucsmoon 2003-10-17 10:01:19
表的字段为:A B C D E
其中A字段的值为唯一的学生学号,B、C、D、E均为输入学生成绩的。
现在我只输入了某些科目的成绩,然后其它的要导给各个班级最后录入,最后再报给我。
但我不知道他们是否对我输入的成绩作了改动,现在我想实现的就是想检查他们是否对我录入的成绩有没有修改,不知道有没有办法呀?如下:
A B C D E
001 85 96
002 65 34
003 87 52
有上万条记录,给各班级后他们将空白地方的成绩都会填入,但上报的时候我想检查上面我已经录入的成绩是否被修改过?
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dennis618 2003-10-17
  • 打赏
  • 举报
回复
建立觸發器,當用戶update 為 null 的值時不產生update觸發,當update 為 is not null時觸發在另一個表登記.
dafu71 2003-10-17
  • 打赏
  • 举报
回复
第一步:
将自己输入的成绩备份。如:table1
A B C D E
001 85 96
002 65 34
003 87 52
第二步:
将各班级后填入的成绩生成表 table2
第三步:
update table1 set b=table2.b from table2 where table1.b is null and table1.a=table2.a
update table1 set c=table2.c from table2 where table1.c is null and table1.a=table2.a
update table1 set d=table2.d from table2 where table1.d is null and table1.a=table2.a
update table1 set e=table2.e from table2 where table1.e is null and table1.a=table2.a
现在的table1就是更新后的成绩表


txlicenhe 2003-10-17
  • 打赏
  • 举报
回复
1:Select * into tableB from tableA
2: tableA拿去修改
3:
Select * from tableB join tableA on tableA.A = tableB.A
where (tableB.B > 0 and tableB.B <> tableA.B)
or (tableB.C > 0 and tableB.C <> tableA.C)
or (tableB.D > 0 and tableB.D <> tableA.D)
or (tableB.E > 0 and tableB.E <> tableA.E)

start1127 2003-10-17
  • 打赏
  • 举报
回复
给表交割触发器或者只给他们insert权限,不给他们update权限阿

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧