附一:sql脚本
---------------对重复住院号问题处理
ALTER TABLE LFMIS..JCMXXM ADD ZYCS INT NOT NULL DEFAULT '0'
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'ZYCH' AND type = 'TR')
DROP TRIGGER ZYCH
GO
CREATE TRIGGER ZYCH
ON LFZYSJH
INSTEAD OF INSERT
AS
IF EXISTS (SELECT a.SJH FROM LFMIS..JC_MXXM a WHERE right(a.sjh,8) in (select ZYH from inserted) AND MZ_ZY=1)
begin
update lfmis..jc_mxxm
set sjh=sjh+'x',ZYCS=1
where right(sjh,8) in (select ZYH from inserted)
insert into LFZYSJH(ZYH,XM,FYM,MC,SL,YMD,JE)
select ZYH,XM,FYM,MC,SL,YMD,JE from inserted
end
else
insert into LFZYSJH(ZYH,XM,FYM,MC,SL,YMD,JE)
select ZYH,XM,FYM,MC,SL,YMD,JE from inserted
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
---------------接口与控制器信息同步
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
use LFMIS
go
if exists(select name from sysobjects where name='sfbm_TJ' and type='tr')
drop TRIGGER sfbm_TJ
go
create TRIGGER sfbm_TJ
ON SYS_SFXM
FOR delete, INSERT, UPDATE
AS
DECLARE @LF_COU NUMERIC(5),
@XX_COU NUMERIC(5)
SELECT @LF_COU=COUNT(*) FROM SYS_SFXM
SELECT @XX_COU=COUNT(*) FROM SFXX.DBO.SFBM
--SELECT @LF_COU,@XX_COU
IF @LF_COU>@XX_COU
BEGIN
DECLARE @XMBM1 VARCHAR(100),
@XMMC1 VARCHAR(100)
SELECT @XMBM1=A.XMBM,@XMMC1=A.XMMC FROM SYS_SFXM A WHERE NOT EXISTS (SELECT * FROM SFXX.DBO.SFBM WHERE XMBM=A.XMBM)
-----SELECT @XMBM,@XMMC
INSERT INTO SFXX.DBO.SFBM
SELECT @XMBM1,@XMMC1
END
ELSE
IF @LF_COU<@XX_COU
BEGIN
DECLARE @XMBM2 VARCHAR(100),
@XMMC2 VARCHAR(100)
SELECT @XMBM2=A.XMBM,@XMMC2=A.XMMC FROM SFXX.DBO.SFBM A WHERE NOT EXISTS (SELECT * FROM SYS_SFXM WHERE XMBM=A.XMBM)
DELETE SFXX.DBO.SFBM
WHERE XMBM=@XMBM2
END
GO
-----------门诊信息提取接口
CREATE PROCEDURE MZSF
AS
INSERT INTO MZXX
SELECT LSH,Name,SFDM,Brief,sl,TOLLDATE,JE
FROM TANYAN.hisgzk.DBO.sf a
WHERE TOLLDATE>DATEDIFF(day,+3,GETDATE())
AND EXISTS (SELECT * FROM SFBM WHERE XMBM=a.SFDM )
AND NOT EXISTS (SELECT * FROM MZXX WHERE LSH=a.LSH AND TOLLDATE=a.TOLLDATE) ORDER BY TOLLDATE
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
分享到:
相关推荐
理解sql触发器理解sql触发器理解sql触发器
SQL触发器使用实例 --创建触发器,示例1 /* 创建触发器[T_INSERT_卷烟库存表],这个触发器较简单。 说明: 每当[卷烟库存表]发生 INSERT 动作,则引发该触发器。 触发器功能: 强制执行业务规则,保证插入的数据...
解密SQL触发器、存储过程、函数,本人用过,可以用
获取SQL触发器的状态,是启用还是停用,业务系统有时候停用了触发器,可以用此检测
SQL触发器的使用及语法,简单易懂才是真
SQL触发器实例讲解.pdf
SQL触发器语法参考
SQL触发器的实例,初学SQl触发器很有用 SQL触发器的实例,初学SQl触发器很有用
SQL触发器实例讲解(20211008070418).pdf
SQL触发器的使用方法,SQL触发器的使用方法,SQL触发器的使用方法,SQL触发器的使用方法
SQL触发器应用实例(Delphi+数据库)..rar
SQL触发器实例讲解
比方说建了一张表,其中的两列为‘是否会员’和‘金额’,金额根据是否会员来定的,比如说如果是会员,则金额为500,不是会员则金额为1000,怎么在这个表上建立触发器,
在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。 我为什么要使用触发器?...
触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。
SQL触发器.sql
SQL触发器实例讲解.doc SQL触发器实例讲解.doc SQL触发器实例讲解.doc
SQL触发器操作.sql 数据库操作的最好说明书