首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用触发器检查其他数据库中的值

使用触发器检查其他数据库中的值
EN

Stack Overflow用户
提问于 2009-03-25 13:23:30
回答 1查看 300关注 0票数 1

是否可以使用触发器检查列中的特定值是否存在于其他数据库中?这两个数据库位于同一个MYSQL实例中。具体来说,我想做的是:

将行添加到数据库A( Document_DB)中的表( Document_Index_table)之前的

  • 触发器被发射。此触发器在行中携带列值(usr_id)之一,并将其传递给数据库B(在值上为usr_idUser_Control_DB将检查usr_id是否存在于表的列usr_id (Usr_Information)中。如果存在

  • ,则将true返回到Document_DB,并允许1中的行添加到Document_DB中,然后发出错误。没有向Document_DB.

添加任何行

如果真的可以做到的话,如何才能做到呢?

编辑:这两个数据库都是MySQL数据库

EN

回答 1

Stack Overflow用户

发布于 2009-03-25 14:40:57

因此,我是数据库开发方面的新手,但您可以这样做:

在您的document_index_table上创建一个“先”插入触发器。触发器所做的事情如下:

代码语言:javascript
复制
declare numRows integer;
select count(*) from user_control_db.usr_information where usr_id = NEW.usr_id into num_rows;
if (numRows > 0) then
   call NonExistentProc();
end if;

我相信这会实现你想要的。如果在用户控件db中至少没有一行具有匹配的usr的行,则会产生类似于“过程documentdb.NonExistenProc不存在”的错误,并跳过插入。

同样,我在DB方面也是新手,所以可能有一种更优雅的方法,但这适用于我的单个测试用例。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/681573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档