是否可以使用触发器检查其他数据库中列中的特定值是否存在?这两个数据库位于同一个MYSQL实例中。具体来说,我想要做的是:
Document_Index_table
)内的表(Document_DB
)之前。 usr_id
)之一,并将其传递给数据库B(User_Control_DB
)。User_Control_DB
会检查表格usr_id
的{{1}}列中是否存在usr_id
。 Usr_Information
,并允许1.中的行添加到Document_DB
。Document_DB
。如果可以完成,怎么办呢?
编辑:两个数据库都是MySQL数据库
答案 0 :(得分:0)
所以,我是数据库开发的新手,但你可以这样做:
在document_index_table上创建'Before'插入触发器。 触发器执行如下操作:
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;
我相信这会实现你想要的。它会产生一个错误,如“PROCEDURE documentdb.NonExistenProc不存在”,如果在用户控件db中没有至少一行具有匹配的usr id,则跳过插入。
同样,我是这个数据库中的新手所以可能会有更优雅的方式,但这对我的单个测试用例起作用。
希望有所帮助。