YPBH MC SL PFJ PDS
001 白加黑 30 5 0
002 氨基酸 24 8 0
. . . . 0
. . . . 0
. . . . 0
表2数据如下
XH YPBH MC SL PFJ RKSJ
1 001 白加黑 10 5 2004-05-10
2 001 白加黑 20 5 2004-05-11
3 002 氨基酸 11 8 2004-05-10
4 002 氨基酸 13 8 2004-05-11
以下是我要问的
当更改表1的盘点数(PDS)的时候 ,用该行SL的值减去PDS的值,得到差额N。
如果N等于表2中相关记录(比如更改表1中的白加黑,那么表2中的相关记录就是白加黑而不是氨基酸)的最早的那一笔记录的数量,那么更改表2中最早的那笔相关记录使之SL为零,以后不再比较;
如果N小于表2中相关记录的最早的那一笔记录的数量,那么更改表2中最早的那笔相关记录使之SL等于N,以后不再比较;
如果N大于表2中相关记录的最早的那一笔记录的数量,那么更改表2中最早的那笔相关记录使之SL为零,用N减去最早那笔记录的原数量得到N2。N2和相关记录的第二条记录(这里的第二条记录是指相关记录根据时间从小到大排序)比较。
如果N2等于表2中相关记录的那二条记录的数量,那么更改表2中第二条记录的数量使之SL为零,以后不再比较;
如果N2小于表2中相关记录的那二条记录的数量,那么更改表2中第二条记录的数量使之SL等于N2,以后不再比较;
如果N2大于表2中相关记录的那二条记录的数量,用N2减去第二条记录的原数量得到N3,N3和相关记录的第三条记录比较。
如果N3等于表2中相关记录的那三条记录的数量,那么更改表2中第三条记录的数量使之SL为零,以后不再比较;
如果N3小于表2中相关记录的那三条记录的数量,那么更改表2中第三条记录的数量使之SL等于N3,以后不再比较;
就这样一直的比较下去
如果相关记录的那条记录的SL小于这个差额,那么该条记录的SL就是这个差额,以后不再比较;
如果等于这个差额,那么该条记录清零,以后不再比较
如果大于就继续比较下去
比如:
更改表1的PDS 如下
YPBH MC SL PFJ PDS
001 白加黑 30 5 20
002 氨基酸 24 8 10
那么表2的数据应该如下:
XH YPBH MC SL PFJ RKSJ
1 001 白加黑 0 5 2004-05-10
2 001 白加黑 10 5 2004-05-11
3 002 氨基酸 0 8 2004-05-10
4 002 氨基酸 10 8 2004-05-11
请问这个触发器如何实现?
8 个解决方案
#1
难道这个问题真的那么难吗?贴了一个月了,都没有人能回答
#2
好多呀?
你最好把问题抽象一下,把关键的问题写出来,而不把问题原原本本的放在那里
你最好把问题抽象一下,把关键的问题写出来,而不把问题原原本本的放在那里
#3
不行啊,我也没办法,我已经缩了很多了
#4
问题不难,但是这么长一段,觉得很乱,不想看.
#5
算了,我不写了,这样吧,我把电话留给大家,你给我打过来,然后我再给你打过去,
13037615678
如果这个问题不解决,我的程序将无法进行
13037615678
如果这个问题不解决,我的程序将无法进行
#6
你最好先写下够架,自己先有个思路。如果有错误或者语法方面的。
在由大家来帮忙,如果都让大家从头到尾帮你写完,对自己没有多大帮助。
在由大家来帮忙,如果都让大家从头到尾帮你写完,对自己没有多大帮助。
#7
我已经把文件发给你了,oracle 8.1.7测试通过
#8
已经把文件发给你了,oracle 8.1.7测试通过
#1
难道这个问题真的那么难吗?贴了一个月了,都没有人能回答
#2
好多呀?
你最好把问题抽象一下,把关键的问题写出来,而不把问题原原本本的放在那里
你最好把问题抽象一下,把关键的问题写出来,而不把问题原原本本的放在那里
#3
不行啊,我也没办法,我已经缩了很多了
#4
问题不难,但是这么长一段,觉得很乱,不想看.
#5
算了,我不写了,这样吧,我把电话留给大家,你给我打过来,然后我再给你打过去,
13037615678
如果这个问题不解决,我的程序将无法进行
13037615678
如果这个问题不解决,我的程序将无法进行
#6
你最好先写下够架,自己先有个思路。如果有错误或者语法方面的。
在由大家来帮忙,如果都让大家从头到尾帮你写完,对自己没有多大帮助。
在由大家来帮忙,如果都让大家从头到尾帮你写完,对自己没有多大帮助。
#7
我已经把文件发给你了,oracle 8.1.7测试通过
#8
已经把文件发给你了,oracle 8.1.7测试通过