GBase 8s
适配迁移
问答

动态sql

发表于2024-11-20 14:56:1855次浏览2个评论

我参照官网上的指南:教程,

 

如下写了一个例子,但是在执行这个存储过程时bigquery的值写什么,以及这个存储过程的外部调用语句该怎么写?
DROP PROCEDURE IF EXISTS P_GenerateCode;
CREATE PROCEDURE P_GenerateCode
(
tabid int,
tabname NVARCHAR(100)
)

EXEC SQL BEGIN DECLARE SECTION;
char bigquery[270] = "begin work;";
EXEC SQL END DECLARE SECTION;
stcat ("SELECT * from systables WHERE tabid = ? and ", bigquery);
stcat ("tabname = ?;', bigquery);
EXEC SQL prepare bigq from :bigquery;

EXEC SQL execute bigq using :tabid, :tabname;

EXEC SQL commit work;

END PROCEDURE;

评论

登录后才可以发表评论
用户头像
liaosnet发表于 1年前
书上的是esqlc专用的写法。。
存储过程可不支持这样的写法。。
最佳回答
GBase用户24232发表于 1年前
@liaosnet:esqlc是什么?我想实现类似的功能该怎么写?