今天验证DDL类型触发器时遇到:
"ORA-06592: CASE not found while executing CASE statement"错误
网上找到如下答案:
CASE语句,碰到没有处理的分支而又缺少ELSE子句就会报错:
"ORA-06592: CASE not found while executing CASE statement"
CASE表达式,在没有匹配的选项又没有ELSE的情况下返回NULL
CASE语句与CASE表达式
简单case语句与搜索式case语句的异同
--相同点:两者都用于根据不同的条件,来执行与之对应的语句或完成特定的任务,甚至某些情况下可以互换替换。
--不同点:
--简单case语句提供一个selector选择器,且EXPRESSION的数据类型一定与selector的数据类型匹配,否则报错。
--搜索case语句没有selector选择器,且when子句之后得到的结果一定是一个布尔型值(NULL,TRUR,FALSE)