【发布时间】:2015-11-25 17:36:24
【问题描述】:
我有这个 table 与这种关系:UNIT --> CHARGE ---> ROLE
UNIT_CODE | CHARGE_CODE | ROLE_CODE
0101010001 | 9023409 | AZAAAA
0102010002 | 8023409 | AXAAAB
0103010003 | 7023409 | ACAAAC
0104010004 | 6023409 | AVAAAV
0101010001 | 5023409 | NEWROL
0102010002 | 4023409 | AZAAAA
此表有近 2.000 行/行。
所以,情况如下:
我必须为特定的 90 unit_code 插入特定的 ROLE_COD (NEWROL)。但是这个角色适用于特定收费的单位。
示例:我必须为此 units 0101010001 和此 charge 5023409 插入 role_code = NEWROLE p>
-
所以,我必须检查:
- 如果单位
0101010001已经存在? - 是的 - 如果单位/费用
0101010001 / 5023409关系已经存在? - 是的 - 如果unit/charge/rol
0101010001 / 5023409 / NEWROL已经存在? - 是的
- 如果单位
如果 3 个问题的答案是肯定的,我必须检查其他 单位/费用 组合:
0102010002 / 4023409
- 如果单位
0102010002已经存在? - 是的 - 如果单位/费用
0102010002 / 4023409关系已经存在? - 是的 - 如果unit/charge/rol
0102010002 / 4023409 / NEWROL已经存在? - 没有
所以我必须在表格中插入角色:NEWROL 为这个单位/收费并检查其他单位和收费。
注意:单位是独一无二的,但有些单位具有相同/多重角色或冲锋。
我必须检查 90 个单位,我需要一个程序来获取 unit_code 和 charge 进行验证并在必要时插入 role_code。
【问题讨论】:
-
这九十个
unit_code,charge组合的值从何而来?另一张桌子? -
不,他们来自同一张桌子。但我已经确定了 90 个
unit_code和他们特定的charge,我必须检查。 @APC -
UNIT_CODE 不是
unique。0101010001重复 -
你说得对@MahendarMahi,但在此表中会找到相同的
unit_code,但code_charge和role_code不同。这是一个关系表。所以,我想知道我是否可以在运行它时创建一个程序,使用unit_code, charge_code并测试他们是否有NEWROL,如果它没有插入table。
标签: database oracle plsql cursor procedure