T-SQL触发器,限制一次只能删除一条数据
/****** Object: Trigger [dbo].[trg_del] Script Date: 01/01/2016 12:58:28 ******/
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO CREATE TRIGGER [dbo].[trg_del] ON [dbo].[Common_Header]
INSTEAD OF DELETE
AS
BEGIN
DECLARE @cou INT
DECLARE @headerid UNIQUEIDENTIFIER
SELECT @cou = COUNT(*)
FROM deleted;
SELECT @headerid = id
FROM deleted
IF ( @cou > 1 )
RAISERROR('数据不允许删除!', 16, 1)
ELSE
DELETE FROM [Common_Header]
WHERE id = @headerid
END
GO
CREATE TABLE [dbo].[Common_Header]
(
[ID] [uniqueidentifier] NOT NULL,
[Subject] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[ApplicantAD] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[ApplicantName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CountryCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CountryName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CompanyCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CompanyName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[DivisionCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[DivisionName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[LBUCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[LBUName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CostCenter] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[Email] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL,
[CreatedDate] [datetime] NULL,
[QueueID] [uniqueidentifier] NULL,
[Status] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Common_Header] ADD CONSTRAINT [PK_Common_Header] PRIMARY KEY CLUSTERED ([ID]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [NonClusteredIndex-20150603-113054] ON [dbo].[Common_Header] ([QueueID]) ON [PRIMARY]
GO
T-SQL触发器,限制一次只能删除一条数据的更多相关文章
- Mybatis 删除多条数据XML SQL语句删除
Mybatis 删除多条数据XML SQL语句删除 1.删除多条数据SQL写法 <delete id="deleteParamsByIds"> delete from ...
- php+mysqli预处理技术实现添加、修改及删除多条数据的方法
本文实例讲述了php+mysqli预处理技术实现添加.修改及删除多条数据的方法.分享给大家供大家参考.具体分析如下: 首先来说说为什么要有预处理(预编译)技术?举个例子:假设要向数据库添加100个用户 ...
- Mybatis一对多或多对多只能查出一条数据解决策略
原文:https://blog.csdn.net/ren814/article/details/81742242 <resultMap id="menuModelMap" t ...
- 在SQL SERVER中获取表中的第二条数据
在SQL SERVER中获取表中的第二条数据, 思路:先根据时间逆排序取出前2条数据作为一个临时表,再按顺时排序在临时表中取出第一条数据 sql语句如下: select top 1 * from(se ...
- SELECT INTO和INSERT INTO SELECT的区别 类似aaa?a=1&b=2&c=3&d=4,如何将问号以后的数据变为键值对 C# 获取一定区间的随即数 0、1两个值除随机数以外的取值方法(0、1两个值被取值的概率相等) C# MD5 加密,解密 C#中DataTable删除多条数据
SELECT INTO和INSERT INTO SELECT的区别 数据库中的数据复制备份 SELECT INTO: 形式: SELECT value1,value2,value3 INTO Ta ...
- jquery easyui datagrid 多选只能获取一条数据
DataGrid属性: singleSelect ------如果为true,则只允许选择一行: idField ------- 指明哪一个字段是标识字段: 方法: 一:getSelections-- ...
- 解决hibernate只能插入一条数据的问题
hibernate初学,根据视频教程写好代码后,发现无论执行多少次main函数,数据库中只有一条数据,尝试多次,后来终于发现问题... 使用的工具是:MYSQL 5.7.13 eclipse 4. ...
- sql 更新列表中最老的一条数据
今天组长给个任务说要给摄像头触发一个列表.让缓存5条数据,每次摄像头触发更新一条,丢掉最老的一条数据.原来的update是直接更新掉一条,没带缓存的.然后搞了个sql语句,是这样的: UPDATE C ...
- SQL Server分组查询某最大值的整条数据(包含linq写法)
想实现如下效果,就是分组后时间最大的那一条数据: 1.SQL SELECT * FROM ( SELECT * , ROW_NUMBER() OVER ( PARTITION BY RIP_GUID ...
随机推荐
- Android viewpager + 可缩放的imageview
http://files.cnblogs.com/files/liaolandemengxiang/PhotoWallFallsDemo.rar http://files.cnblogs.com/fi ...
- OpenGL中的拾取模式( Picking)
1. Opengl中的渲染模式有三种:(1)渲染模式,默认的模式:(2)选择模式, (3)反馈模式.如下 GLint glRenderMode(GLenum mode) mode可以选取以下三种模式之 ...
- 《mysql必知必会》学习_第五章_20180730_欢
使用的工具是wamp的Mysql. P29 select prod_name from products; #在表products中选列prod_name,顺寻不是纯粹的随机,但是没有说明排列顺序, ...
- POJ1644状态转移的思想——排列组合
m个物品放n个盒子,盒子物品都相同,问你放的方法总数是多少 看着像个排列组合,算着算着就发现我排列组合都忘得差不多啦,哎,什么时候能打败遗忘呢 然后想用dp做,但是转移的方面没有想好 看了看题解感觉这 ...
- AngularJS 承诺 Promise
一.概念解释 全称是未来与承诺,Futures and promises,是一种编程模式,不是AngularJS首创.javascript里有个流行库Q,而AngularJS是$q,其就是从Q引入的: ...
- Swift可向上滑移出界面的欢迎页简单封装
使用: -(WelcomView*)welcomeView{ if (!_welcomeView) { _welcomeView = [[NSBundle mainBundle] loadNibNam ...
- cxgrid回车移到下一个单元格
cxgrid回车移到下一个单元格 cxgrid回车移到下一个单元格 作用:表格式录入全键盘操作. 设置cxgrid1Dbtableview1.optionsBehavior.goToNextCel ...
- Android-Java-对象在内存中的简单关系图
代码案例一: package android.java.oop02; class Student { public int age; public String name; public void s ...
- artificial neural network in spark MLLib
神经网络模型 每个node包含两种操作:线性变换(仿射变换)和激发函数(activation function). 其中仿射变换是通用的,而激发函数可以很多种,如下图. MLLib中实现ANN 使用两 ...
- Lerning Entity Framework 6 ------ Defining the Database Structure
There are three ways to define the database structure by Entity Framework API. They are: Attributes ...