缺省值

您可以许多方式处理这些不可避免的错误。在某些应用程序中,使用比执行功能更多的行代码来处理错误。然而,在本部分的示例中,最简单的解决方案之一,缺省值,应奏效,如下例所示:
avg_price = 0; /* 设置错误的缺省值 */
          EXEC SQL SELECT avg (total_price)
          INTO :avg_price:null_flag
          FROM items;
          if (null_flag < 0) /* 可能没有行 */
          avg_price = 0; /* 设置 0 行的缺省值 */
前面的示例处理下列事项:
  • 如果查询选择一些非空的行,则返回并使用正确的值。这是期望的并且最常用的结果。
  • 如果查询没有选择行,或在发生的可能性很小的情况下,仅选择在 total_price 列(从不应为空的列)中有空值的那些行,则设置该指示符变量,并指定缺省值。
  • 如果发生任何严重的错误,则保持主变量不变;它包含最初设置的缺省值。在程序中的此点,程序员无需捕获这类错误并报告它们。