informix的sql中,无论case语句是在普通查询语句中还是在存储过程中,执行情况基本一致。通常情况下条件只符合一条当然没有疑问。就以下两种情况尤其是第一种情况需要注意。
1、在满足条件的when子句存在多条的情况下,仅第一条有效,后面的都不执行;
2、在存储过程的case语句中中如果没有when只有else,则直接执行else后的语句。当然这样的情况最好避免。
可以理解为case就是执行满足条件的第一条语句后就跳出case语句。
另外存储过程中case后变量值只计算一次,也就是说即使case语句中改变了变量值是不会影响后面的判断的。
本文解析了Informix数据库中Case语句的工作原理,包括在满足多个条件时仅执行第一个符合条件的情况,以及在存储过程中Case语句的特殊行为。此外还讨论了变量赋值在Case语句中的作用范围。
1048

被折叠的 条评论
为什么被折叠?



