首页 > 数据库 >sql触发器

sql触发器

时间:2024-03-11 15:44:05浏览次数:24  
标签:ProjectNameDic 触发器 target dbo iid ThreeDFileName source sql

触发器——添加语句如下:

ALTER TRIGGER [dbo].[Sync_ProjectTriggerAdd]
ON [dbo].[File_Project_Test]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
declare @sach int;
select @sach=Synch from inserted;
if(@sach=1 )
begin
-- 将WRP库中新增的项目数据插入到Middle库中
INSERT INTO welding_CFE_Middle.dbo.File_Project_Test (IID,ProjectName,Parent_iid,ProjectNameDic,CustomerName,TwoDFileName,TwoDFileUrl,ThreeDFileName,ThreeDFileUrl,Synch)
SELECT iid,pjt_no,parent_iid,ProjectNameDic,CustomerName,TwoDFileName,TwoDFileUrl,ThreeDFileName,ThreeDFileUrl,1
FROM inserted;
end
END;


触发器——修改 语句如下:

ALTER TRIGGER [dbo].[Sync_ProjectTriggerEdit]
ON [dbo].[File_Project_Test]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;

-- 如果更新了 Synch 字段并且值为 1,则执行更新或添加操作
IF EXISTS(SELECT * FROM inserted WHERE Synch = 1)
BEGIN
MERGE INTO welding_CFE_Middle.dbo.[File_Project] AS target
USING inserted AS source
ON target.IID = source.iid
WHEN MATCHED THEN
UPDATE SET
target.ProjectName = source.pjt_name,
target.Parent_iid = source.parent_iid,
target.ProjectNameDic = source.ProjectNameDic,
target.CustomerName = source.CustomerName,
target.TwoDFileName = source.TwoDFileName,
target.TwoDFileUrl = source.TwoDFileUrl,
target.ThreeDFileName = source.ThreeDFileName,
target.ThreeDFileUrl = source.ThreeDFileUrl
WHEN NOT MATCHED BY TARGET THEN
INSERT (IID, ProjectName, Parent_iid, ProjectNameDic, CustomerName, TwoDFileName, TwoDFileUrl, ThreeDFileName, ThreeDFileUrl)
VALUES (source.iid, source.pjt_name, source.parent_iid, source.ProjectNameDic, source.CustomerName, source.TwoDFileName, source.TwoDFileUrl, source.ThreeDFileName, source.ThreeDFileUrl);
END
END

标签:ProjectNameDic,触发器,target,dbo,iid,ThreeDFileName,source,sql
From: https://www.cnblogs.com/eileenfdx/p/18066218

相关文章

  • sqlalchemy高级查询操作
    连接数据库准备fromsqlalchemy.ormimportsessionmakerfromsqlalchemyimportcreate_enginefromsqlalchemy.ormimportscoped_sessionfrommodelsimportUsers,Person,Hobby,Boy,Girlfromsqlalchemy.sqlimporttextengine=create_engine("mysql+pymysql://roo......
  • SQlServer 高版本向低版本大量数据迁移
    SQlServer高版本向低版本大量数据迁移一、我的情况我们开发时数据库版本是Sqlserver2017,甲方的数据库版本是Sqlserver2014我们数据库中的数据量大约1亿条,.mdf文件有七十多GB我们数据库里存在一些外键约束和存储过程二、迁移步骤1.为整个数据库生成仅限架构的sql......
  • MySQL实现事务隔离的原理
    一、readview四个字段create_trx_id:创建该readview的事务的事务idm_ids:创建readview时,当前数据库中的活跃事务(指启动但还没提交的事务)min_trx_id:m_ids的最小值max_trx_id:创建readview后,下一个事务的id二、聚簇索引的隐藏列trx_id:最近一次改动该聚簇索引记录的事务idrol......
  • Mysql和Clickhouse数据查询-按照时间分组统计并且对无无数据的日期补0
      最近在做数据查询需求的时候,遇到按照时间分组查询统计指标的需求,比如说查询模块的最近15天访问数据量,没有数据的日期补0,以前对于这种类似的需求都是通过代码来补数据,想试试sql实现这种查询,因此查询了不少文章,对于类似实现方法的文章网上也有很多,差异也很多,因此这篇文章只......
  • Dynamics CRM 2013 常用SQL查询基础数据
    获取实体SELECT*FROMEntityWHERELogicalName='EntityName'获取字段名称SELECTdistinctA.nameAS字段名,L.labelAS显示名,AT.descriptionAS类型,L.ObjectColumnNameAS形式,A.IsNullableAScodefromattributeAINNERJOINlocalizedlabelLONA.Attributei......
  • SQL中and和or 执行顺序
    原SQLSELECT a.car_numFROM t_cara INNERJOINt_device_managebONa.device_id=b.id INNERJOINsys_deptcONc.dept_id=a.dept_idWHERE find_in_set(1,c.ancestors)ORc.dept_id=1 ANDa.car_numLIKEconcat( '%', "22",......
  • [转][SQL Server]分页查询
    方式一:使用OFFSET/FETCH子句(SQLServer2012及以上版本支持)--假设PageSize表示每页的记录数,pageNumber表示当前页码(从1开始)DECLARE@PageSizeINT=10;DECLARE@pageNumberINT=3;SELECT*FROMtable1ORDERBYId--或者按其他字段排序OFFSET(@pageNumber-......
  • MySQL 8.0.26版本升级32版本查询数据为空的跟踪
    某业务系统将MySQL8.0.26升级为GreatSQL8.0.32-24后,某些特定的SQL语句不能查询到数据。经测试MySQL8.0.32也存在相同的问题此BUG已在GreatSQL8.0.32-25版本中解决MySQL8.0.26版本升级32版本查询数据为空的跟踪接到客户反馈的问题后,对问题进行了复现和分析。版本信......
  • SQL Server2008 R2开启远程连接总结
      ==============================SQLServer2008R2开启远程连接(最全总结)==============================安装过程:适用WindowsXPSP3、Windows7、WindowsServer2008R2、Windows8、Windows101、安装VisualStudio2010旗舰版2、安装VisualStudio2010SP13、安装S......
  • SQL Server 2008R2完整安装教程
    安装包:sql_server_2008_r2(提取码:fqro)安装教程:点击左侧“安装”按钮选择“全新安装或现有........”  安装层析支持规则:全部已通过——点击“确定”按钮 产品密钥:一般下会有默认密钥,如果没有默认密钥下载激活秘钥粘贴即可 ↓粘贴秘钥后点击“下一步” 许......