外部SQL程序中SQL参数和SQL变量的引用
在语句中,SQL参数、SQL变量和转换变量可以在任何指定表达式或宿主变量的位置引用。 SQL参数和SQL变量可以在复合语句中声明的任何位置引用,并可以使用复合语句开头指定的标签名称进行限定。 在SQL例程中不能指定宿主变量。 在SQL例程中使用SQL变量、SQL参数和全局变量,而不是宿主变量。 在触发器中使用SQL变量、转换变量和全局变量。
所有SQL参数和SQL变量均视为可空。 SQL程序中的SQL参数或SQL变量的名称可以与SQL程序引用的表或视图中的列名称相同。 相同的名字应明确限定。 限定名称可以明确指出名称是指列、SQL变量还是SQL参数。
如果名称不明确,则根据以下规则确定名称是指列、SQL变量还是SQL参数:
- 首先将名称作为SQL变量名进行检查,然后作为SQL参数名进行检查。
- 如果未找到同名的SQL变量或SQL参数,则假定该名称为列名。
SQL程序中SQL变量或SQL参数的名称可以是某些SQL语句中使用的标识符的名称。 如果名称不合法,则根据以下规则确定该名称是指标识符、SQL变量还是SQL参数:
- 在SET PATH和SET SCHEMA语句中,名称将作为SQL变量名或SQL参数名进行检查。 如果未找到该名称的SQL变量或SQL参数,则该名称被视为标识符。
- 在关联定位器、连接语句、SET CONNECTION语句和RELEASE(连接)语句中,该名称用作标识符。