社区
Oracle 高级技术
帖子详情
一个说难不难的触发器
豆芽菜瓜
2006-07-06 06:23:54
一张表有A,B,C(varchar2),D,E几列,触发器在A,B插入值或者更新的时候会向C列中插入值,格式为0001,并且这个值是递增的,还有条件是D=E,D是唯一值,E有些数据会放对应的D的值.假如我把中间已经有值的数据删掉了,再向新数据C列插值的时候会出现空号,比如0001,0002,0003,我把0002删掉,再插入就变成0004了,怎样可以把中间的值给补上?重新排好序.
这个触发器该怎么写?
...全文
155
4
打赏
收藏
一个说难不难的触发器
一张表有A,B,C(varchar2),D,E几列,触发器在A,B插入值或者更新的时候会向C列中插入值,格式为0001,并且这个值是递增的,还有条件是D=E,D是唯一值,E有些数据会放对应的D的值.假如我把中间已经有值的数据删掉了,再向新数据C列插值的时候会出现空号,比如0001,0002,0003,我把0002删掉,再插入就变成0004了,怎样可以把中间的值给补上?重新排好序. 这个触发器该怎么写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
豆芽菜瓜
2006-07-06
打赏
举报
回复
因为E是跟D对应着的,D的值唯一,所以E有很多重复的,当E跟D对不上的时候,这行的C就置为空,只有E跟D的某一值相同才会产生C,比如D某一值为D1,这行数据的E没有值,另外有10行数据的E都为D1(它们的D值不用去管),这时,这10行数据就要按0001这样的排列下来,但E的值是可变的,如果这些数据中E变为D2,那就要按D2的那些去排,所以中间会出现空号,想来想去觉得比较复杂.说实话我觉得这表设计得很垃圾,但只能这样,我没权利去修改表结构.哎~~头大了.有解决方法就行,先不用考虑效率,最好是只在触发器实现,或者加上过程也可.拜托了!~~
寒若辰
2006-07-06
打赏
举报
回复
还是不懂你说的是什么意思。E变了,C值为什么会没有了?如果不建新表,在触发器里面全表查询检索的话,效率可能会更低。
豆芽菜瓜
2006-07-06
打赏
举报
回复
补充一下,其实0002的值我不是删掉了,而是把它的E值给改变了,所以它就暂时没有了C值,假如我还要把它的E值给变成相等的D值,并且还有批量插入或者更新的其它数据,这样新建表好么?或者还有别的什么有效的办法没?
寒若辰
2006-07-06
打赏
举报
回复
我觉得效率最高的方法是另外建一张表,用来记录已经删掉的C值。然后在原来的表上建一个Before Delete触发器,把:OLD.C插入到这张表里面。
其他的条件都很好满足,就不写了。记着在建触发器的时候不要忘了把新建的记录表里面已经填上的C再删掉。
MySQL
触发器
难
不
难
学学_mysql
触发器
学习
因此
触发器
不需要人为的去调用,也不能调用。然后,
触发器
的触发条件其实在你定义的时候就已经设定好的了。这里面需要
说
明一下,
触发器
可以分为语句级
触发器
和行级
触发器
。简单的
说
就是语句级的
触发器
可以在某些语句...
一篇很棒的 MySQL
触发器
学习教程
触发器
(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,...
D
触发器
基本原理
D
触发器
属于时钟控制
触发器
,一般而言,时钟控制的
触发器
可以分成三大类: 第一类时钟控制
触发器
要求时钟信号的脉冲宽度小于
触发器
的传输延迟,即,时钟信号先为高,接着必须在
触发器
的输出状态改变之前变为低。...
SQL学习计划六:学
触发器
+
不
难
不
难
简单来
说
: 它类似存储过程,但不能调用 发生某个事件时才会开启,并执行指定操作 防止一些恶意或错误操作 可以对
一个
表上的特定操作,设置多个
触发器
DML
触发器
就是最常见的
触发器
啦!具体作用慢慢往下看~~~ 准备...
触发器
触发器
(Flip Flop)是一种可以存储电路状态的电子元件。最简单的是由两个或非门,两个输入端和两个输出端组成的RS
触发器
。
触发器
的电路图由逻辑门组合而成,其结构均由R-S锁存器派生而来(广义的
触发器
包括锁存器...
Oracle 高级技术
3,491
社区成员
18,714
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章