同一服务器上的两个数据库
数据库SQLDB1 : 表 t_userinfo 字段mobile(11个字符),username,delflag
数据库SQLDB2 : 表 t_msg 字段mbno,Msg,readed(默认0)想在t_msg表中插入数据时,t_userinfo表中的delflag字段值变为N ,代码如下:CREATE TRIGGER tri_ccc
ON t_msg
FOR insert
AS
IF EXISTS(SELECT Mbno FROM t2 WHERE readed = '0' and LEFT(REPLACE(Msg, CHAR(32), ''), 2) = 'HA' )
begin
UPDATE u set u.delflag ='N' from SQLDB1..t_UserInfo u , t_msg m where m.readed = '0' and u.Mobile= RIGHT(m.Mbno,11)
UPDATE m set m.readed = '1',m.webname='whz' from t_msg m where m.readed = '0'
end用手动在t_msg表中加一条数据时,上述功能可以实现,但外界程序向t_msg表插入数据时,无法写入数据。给这个触发器删除后,外界程序就可以写入数据。
请高手朋友帮看一下,谢谢
数据库SQLDB1 : 表 t_userinfo 字段mobile(11个字符),username,delflag
数据库SQLDB2 : 表 t_msg 字段mbno,Msg,readed(默认0)想在t_msg表中插入数据时,t_userinfo表中的delflag字段值变为N ,代码如下:CREATE TRIGGER tri_ccc
ON t_msg
FOR insert
AS
IF EXISTS(SELECT Mbno FROM t2 WHERE readed = '0' and LEFT(REPLACE(Msg, CHAR(32), ''), 2) = 'HA' )
begin
UPDATE u set u.delflag ='N' from SQLDB1..t_UserInfo u , t_msg m where m.readed = '0' and u.Mobile= RIGHT(m.Mbno,11)
UPDATE m set m.readed = '1',m.webname='whz' from t_msg m where m.readed = '0'
end用手动在t_msg表中加一条数据时,上述功能可以实现,但外界程序向t_msg表插入数据时,无法写入数据。给这个触发器删除后,外界程序就可以写入数据。
请高手朋友帮看一下,谢谢
解决方案 »
- sql 求和
- vb连接sql数据库
- 求一SQL语句!急!麻烦大家帮忙看看!
- 问下大家, profiler怎么能抓到Cursor Open和Cursor Close的事件啊?
- 声明变量的问题! 难道这样不算声明变量?
- 如何把数据表中的其中ZSBH字段的重复记录全部取出来!
- 在sql2000中,怎么创建用于是windows登陆的帐户?
- 奇怪,sql server 6.5 忽然不支持 sql 语句中包含中文了,快!快!快!
- 请问能否能将某一字段的属性修改成IDENTITY(1,1);(焦急等待中)
- 不知道SQL能否实现这一的查询,请各位大神观摩
- 设计 查询
- 数据库插入,多人操作,如何能做到绝对不重复插入?
ON t_msg
FOR insert
AS
IF EXISTS(SELECT Mbno FROM t_msg WHERE readed = '0' and LEFT(REPLACE(Msg, CHAR(32), ''), 2) = 'HA' )
begin
UPDATE u set u.delflag ='N' from SQLDB1..t_UserInfo u , t_msg m where m.readed = '0' and u.Mobile= RIGHT(m.Mbno,11)
UPDATE m set m.readed = '1',m.webname='whz' from t_msg m where m.readed = '0'
end上面的代码是这个,我COPY上来时改错了