执行动态查询语句
介绍执行动态查询语句。Vastbase提供两种方式:使用EXECUTE IMMEDIATE、OPEN FOR实现动态查询。前者通过动态执行SELECT语句,后者结合了游标的使用。当需要将查询的结果保存在一个数据集用于提取时,可使用OPEN FOR实现动态查询。
EXECUTE IMMEDIATE
语法图请参见图14-6。
图14-7 EXECUTE IMMEDIATE dynamic_select_clause::=
using_clause子句的语法图参见图14-7。
图14-8 using_clause::=
对以上语法格式的解释如下:
define_variable:用于指定存放单行查询结果的变量。
USING IN bind_argument:用于指定存放传递给动态SQL值的变量,即在dynamic_select_string中存在占位符时使用。
USING OUT bind_argument:用于指定存放动态SQL返回值的变量。
使用"LOG ERRORS DATA"时,若错误内容过于复杂可能存在写入容错表失败的风险,导致任务失败。
OPEN FOR
动态查询语句还可以使用OPEN FOR打开动态游标来执行。
语法参见图14-8。
图14-9 open_for::=
参数说明:
cursor_name:要打开的游标名。
dynamic_string:动态查询语句。
USING value:在dynamic_string中存在占位符时使用。
游标的使用请参考14.11游标。