返回首页

gbase数据、南大通用产品文档:GBase8agbase_stmt_execute

更新日期:2024年09月11日

 摘要:
执行预处理语句。
 语法:
int gbase_stmt_execute(GBASE_STMT *stmt);
 参数:
 返回值:
如果执行成功,返回0。如果出现错误,返回非0 值。
 错误
CR_COMMANDS_OUT_OF_SYNC
以不恰当的顺序执行了命令。
CR_OUT_OF_MEMORY


内存溢出。
CR_SERVER_GONE_ERROR

GBase 服务器不可用。
CR_SERVER_LOST


在查询过程中,与服务器的连接丢失。
CR_UNKNOWN_ERROR


出现未知错误

当您使用 DB-Access 来 更新集合类型时,您必须更新整个集合。下列语句展示如何更
新 projects 列。 要定位需要更新的行,请使用 IN 关键字在direct_reports 列上执行搜索。
UPDATE manager
SET projects = "LIST
{
ROW('brazil_project', SET{'Pryor', 'Murphy', 'Kinsley',
'Bryant'}),
ROW ('cuba_project', SET{'Forester', 'Barth', 'Lewis',
'Leonard'})
}"
WHERE 'Williams' IN direct_reports;
在前一语句中第一次出现的 SET 关键字是 UPDATE 语句语法的一部分。
重要:
请不要将 UPDATE 语句的 SET 关键字与表明集合为 SET 数据类型的 SET 构造函数
相混淆。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 175 -

虽然您可使用 IN 关键字来定位简单集合的特定元素,但您不可从 DB-Access 更新集合列
的个别元素。
然而,
您可创建 GBase 8s ESQL/C 程序和 SPL 例程来更新集合内的元素。

获取关于如何创建 GBase 8s ESQL/C 程序来更新集合的信息,
请参阅
《GBase 8s ESQL/C 程
序员手册》。要获取关于如何创建 SPL 例程来更新集合的信息,请参阅 处理集合 部分。


在对象资源管理器中,右击“函数”节点,然后从快捷菜单中选择“新建函数”。

GBase 8s 企业管理器用户手册
南大通用数据技术股份有限公司

51

图:新建函数

修改后,点击“执行 SQL ”即可。