暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase数据库分享,使用 'cdrsession' 选项& 'dbname' 选项

郑小雯 2023-09-25
99

使用 'cdrsession' 选项

DBINFO() 函数的 'cdrsession' 选项检测是否执行 INSERT、UPDATE 或 DELETE 语 句作为复制的事务的一部分。

您可能想要升级触发器、存储过程或用户定义的例程来采取不同的活动,这依赖于是 否执行事务作为 Enterprise Replication 的一部分。如果线程执行的数据库操作是 Enterprise Replication apply 或 sync 线程,则 DBINFO() 函数的 'cdrsession' 选项返回

1;否则,该函数返回 0。

下列示例展示使用 'cdrsession' 选项的 SPL 函数,来确定线程是否正在执行 Enterprise Replication 操作:

CREATE FUNCTION iscdr () RETURNING int; DEFINE iscdrthread int; SELECT DBINFO('cdrsession') into iscdrthread from systables where tabid = 1; RETURN iscdrthread; END FUNCTION


使用 'dbname' 选项

您可使用 'dbname' 选项来检索当前数据库的名称。此选项返回客户端会话当前连接 到的数据库的标识符。

在下列示例中,用户在 SELECT 语句中输入 DBINFO 的 'dbname' 选项来检索 DB-Access 连接到 的数据库的名称:

SELECT DBINFO('dbname') FROM systables WHERE tabid = 1;

下表展示此查询的结果。

(constant)

stores_demo  

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论