云数据库 GAUSSDB-执行动态非查询语句:语法

时间:2024-01-23 20:09:03

语法

语法请参见图1

图1 noselect::=

using_clause子句的语法参见图2

图2 using_clause::=

对以上语法格式的解释如下:

USING IN bind_argument用于指定存放传递给动态SQL值的变量,在dynamic_noselect_string中存在占位符时使用,即动态SQL语句执行时,bind_argument将替换相对应的占位符。要注意的是,bind_argument只能是值、变量或表达式,不能是表名、列名、数据类型等数据库对象。如果存储过程需要通过声明参数传递数据库对象来构造动态SQL语句(常见于执行DDL语句时),建议采用连接运算符“||”拼接dynamic_select_clause。另外,动态语句允许出现重复的占位符,相同占位符只能与唯一一个bind_argument按位置一一对应。当设置guc参数behavior_compat_options值为dynamic_sql_compat时,会按照占位符的顺序依次匹配USING子句bind_argument,重复的占位符不会再识别为同一个占位符。

support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-12-0746.html