【发布时间】:2019-12-04 18:28:21
【问题描述】:
在我的触发器中,如果列 Z 的值为 W,我必须限制列 X 更改为值 Y。IF 语句的外观如何?谢谢!
这是Class 表:
class type tara nr_arme diametru_tun deplasament
Ticonderoga cr Norvegia 16 23 4500
Maryland vl SUA 10 12 10000
Foxtrot vl Russia 20 45 5800
Buyan cr Russia 15 20 15000
Amphion cr Marea Britanie 13 14 12000
那些是ships:
name class anul_lansarii
Nava1 Ticonderoga 1995
Nava2 Amphion 1980
Nava3 Foxtrot 2005
Nava4 Buyan 1960
Nava5 Maryland 1970
这是Consequences 表。
name batalie result
Nava1 Battle of Chemulpo Bay scufundat
Nava3 Battle of Chemulpo Bay avariat
Nava2 Battle of Hudson Bay nevatamat
Nava4 Battle of Bengal Bay nevatamat
Nava5 Battle of Bengal Bay avariat
因此,如果船 (nava) 的类型为“cr”,则结果不能为“nevatamat”。它忽略更新。
【问题讨论】:
-
如果有人试图将 X 列更改为 Y 值,如果 Z 列的值是 W,你想得到什么?出现异常还是默默忽略更新?
-
忽略更新
-
尝试用英文写出逻辑......甚至用plsql,然后我们可以更好地回答你的问题。如果您想在表定义中包含一些示例数据,那就更好了
-
忽略整个更新语句还是只忽略 X 列的更新?
-
您有三个表完全不同于“限制列 X 更改为值 Y,如果列 Z 的值是 W”而且“限制列 X 更改”与“结果不能是“nevatamat””请说明您的要求。
标签: sql oracle plsql oracle-apex database-trigger