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

news/2024/10/20 9:34:21/

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

测试表格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改变,会新增一条数据。


http://www.ppmy.cn/news/1540483.html

相关文章

Java最全面试题->Java基础面试题->JavaWeb面试题->Git/SVN面试题

Git/SVN面试题 下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图 哪里不会点哪里 Git和SVN有什么区别? Git是分布式的,而SVN不是分布式的Git把内容按元数据方式存储&#xf…

python项目实战——下载美女图片

python项目实战——下载美女图片 文章目录 python项目实战——下载美女图片完整代码思路整理实现过程使用xpath语法找图片的链接检查链接是否正确下载图片创建文件夹获取一组图片的链接获取页数 获取目录页的链接 完善代码注意事项 完整代码 import requests import re import…

Wails 学习笔记:Wails核心思想理解

文章目录 1. Wails 的核心思想2. 工作流程2.1 前端渲染2.2 后端逻辑2.3 前后端通信2.4 应用打包与分发 3. Wails 主要组件3.1 WebView3.2 事件与数据绑定3.3 窗口管理 4. Wails 的优点5. Wails 的使用场景6. 启动函数Runwails.Run() 的主要功能wails.Run() 的参数:w…

LeetCode搜索插入位置

题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 …

Axure科技感元件:打造可视化大屏设计的得力助手

Axure,作为一款专业的原型设计工具,凭借其强大的设计功能、丰富的组件库和灵活的交互能力,成为了许多设计师打造科技感设计的首选工具。其中,Axure科技感元件更是以其独特的魅力和实用性,在数据可视化大屏、登录界面、…

将两张图片的不同标记出来

差异过于细微,阈值设置不当:您的差异可能是颜色或位置的微小变化,当前的阈值和处理方式可能不足以检测到这些细微差异。 图像配准不够精确:由于两张图片内容高度相似,特征点匹配可能存在误差,导致图像对齐…

c4d哪个渲染器好用简单?c4d常用渲染器介绍

在3D设计领域,Cinema 4D(C4D)是一款功能强大的软件,被广泛应用于建模、动画和渲染。然而,C4D内置的渲染器可能无法满足所有用户的需求,因此选择一个合适的第三方渲染器变得尤为重要。 本文将为您介绍一些C…

day01_ Java概述丶开发环境的搭建丶常用DOS命令

编程常识 什么是编程? 所谓编程,就是人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。 编程语言的发展历程 第一代:机器语言 ,机器语言由数字组成所有指令。计算器解析运行速度,最快…