返回首页

gbase数据、南大通用产品文档:GBase8a预处理语句中使用的动态SQL 语法

更新日期:2024年09月11日

语法格式:
PREPARE stmt_name FROM open_cur_stmt
EXECUTE stmt_name [USING @var_name [, @var_name] ...]
{DEALLOCATE | DROP} PREPARE stmt_name
参数说明如下:
:预备语句名称。
:打开动态游标的动态SQL 语句。
通过预处理语句,
可先将动态游标OPEN 语句进行预处理,
后续通过EXECUTE 语
句进行执行。

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 988
通过动态SQL 语句,动态游标OPEN 语句中的SELECT 语句可以由文本字符串或
者内容为文本字符串的用户变量表示。动态SQL 中还可包含'?'占位符表示未定参
数,在执行EXECUTE 语句时,使用通过USING 传入的变量值为各个未定参数赋
值,生成真正的SELECT 语句。
示例

示例:
DECLARE cur REF CURSOR;
SET
v
=
'OPEN
cur
FOR
SELECT
*
FROM
hunter.t1
WHERE
hunter.t1.i
=
?
AND
hunter.t1.j
= ?';
SET @sql_str = v;
SET @a = 1;
SET @b = 2;
PREPARE stmt FROM @sql_str;
EXECUTE stmt USING @a, @b;
FETCH cur INTO i, j;
OPEN 语句中使用的动态SQL 语法
通过动态SQL,动态游标OPEN 语句中的SELECT 语句可以由文本字符串或者内
容为文本字符串的用户变量表示。
语法格式:
OPEN <游标名称> FOR
参数说明如下:
:打开动态游标的动态SQL 语句。
示例

示例:SELECT * FROM hunter.t1
DECLARE cur REF CURSOR;
SET v = 'SELECT * FROM hunter.t1';
SET @sql_str = v;
OPEN cur FOR @sql_str;
FETCH cur INTO i, j;

node (172.168.83.14)
cleanup rubbish file or dir begin

PLOAD_LO_PATH 环境变量允许您指定智能大对象句柄的路径名(它标识如 BLOB 和
CLOB 数据类型这样的智能大对象的位置)。

pathname 指定智能大对象句柄的目录。
如果未设置 PLOAD_LO_PATH,那么缺省目录为 /tmp。
有关更多信息,请参阅 GBase 8s High-Performance Loader 用户指南。