欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > SQL实现给表添加数据及其触发器操作

SQL实现给表添加数据及其触发器操作

2024/10/23 15:32:01 来源:https://blog.csdn.net/qq_42711010/article/details/142988489  浏览:    关键词:SQL实现给表添加数据及其触发器操作

新建一个表实现添加数据,数据不重复,。判断两个字段是否存在,如果存在,就修改对应字段,如果不存在就新增数据。

测试表格Test如下:

新建触发器如图:

触发程式如下:

USE [Test]
GO/****** Object:  Trigger [dbo].[TRIGGER11]    Script Date: 10/16/2024 18:16:00 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GOCREATE TRIGGER [dbo].[TRIGGER11]
ON [dbo].[Test]
INSTEAD OF INSERT
AS
BEGINSET NOCOUNT ON;-- 遍历插入操作中的所有行DECLARE @id INT, @column1 NVARCHAR(100), @column2 NVARCHAR(100);SELECT @id = inserted.id, @column1 = inserted.name,@column2 = inserted.uptimeFROM inserted;-- 检查主键是否已存在IF EXISTS (SELECT 1 FROM Test WHERE id = @id and name =@column1)BEGIN-- 如果存在,则更新记录UPDATE TestSET uptime = @column2  WHERE id = @id and name =@column1;ENDELSEBEGIN-- 如果不存在,则插入新记录INSERT INTO Test (id, name,uptime)VALUES (@id, @column1,@column2);END
END;GO

执行以下语句:

INSERT INTO Test (id , name,uptime)
VALUES ('11', '12',GETDATE());select *  from Testselect TOP 1 name  from Test  ORDER BY uptime DESC;

以下结果如下:

说明:执行上面的新增语句,重复执行,只会改变上传时间,如果id和name改变,会新增一条数据。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com