BEGIN DECLARE SECTION 语句

BEGIN DECLARE SECTION 语句标志着 SQL 声明部分的开始。 SQL 声明部分包含对主机变量的声明,这些变量可以在程序中的 SQL 语句中用作主机变量。

调用 BEGIN DECLARE SECTION

此语句只能嵌入在应用程序中。 这不是一个可执行的语句。 不得在Java™或REXX中指定。

授权 BEGIN DECLARE SECTION

不需要执行任何操作。

语法 BEGIN DECLARE SECTION

阅读语法图跳过可视化语法图BEGIN DECLARE SECTION

描述 BEGIN DECLARE SECTION

根据宿主语言的规则,变量声明可以出现在应用程序中的任何位置,因此可以在应用程序中编写 BEGIN DECLARE SECTION 语句。 它用于指示一个宿主变量声明部分的开始。 一个宿主变量部分的结尾是 END DECLARE SECTION 语句,详见 END DECLARE SECTION 语句

仅当主机语言为C或指定了STDSQL(YES) SQL处理选项时,预编译器才会执行以下规则:

  • 在SQL语句中引用的变量必须在源程序的主变量声明部分中声明,该部分适用于除Java和REXX之外的所有主机语言。 此外,每个变量的声明必须出现在对变量的首次引用之前。 在Java中,无需使用这些语句即可声明宿主变量,而在REXX中则根本无需声明。
  • BEGIN DECLARE SECTION和END DECLARE SECTION语句必须成对出现,且不能嵌套。
  • 宿主变量声明部分只能包含宿主变量声明、包含宿主变量声明的SQL INCLUDE语句或DECLARE VARIABLE语句。

开始声明部分注意事项

仅当指定了STDSQL(YES)选项或主机语言为C时,才需要主机变量声明部分。 然而,声明部分可以针对任何主机语言进行指定,以便源程序符合 IBM® SQL。 如果使用了声明部分,但不是必需的,那么声明部分之外的变量不能与声明部分中的变量同名。

如果您正在使用 Db2 precompiler ,请确保在程序中,宿主变量和宿主变量数组的名称是唯一的,即使变量和变量数组位于不同的块、类、过程、函数或子例程中。 您可以使用结构名称限定名称,使其独一无二。

示例 BEGIN DECLARE SECTION

  EXEC SQL BEGIN DECLARE SECTION;
 
   -- host variable declarations
 
  EXEC SQL END DECLARE SECTION;