SQL Server 触发器、事务、以及存储过程详解

触发器(trigger)

在使用触发器的同时一般会牵扯到两张表,这两张表只读且是虚拟的表一个是inserted(增加表)另外一个是deleted(删除表)

这两张表的结果总是与被改触发器应用的表的结构相同。当触发器完工后,这两张表就会被删除inseted是存插入和修改的数据,deleted则是存储

删除的的数据

语法:  create  trigger  tgr_name(触发器名称)

on table_name(表名)

with encrypion  --加密触发器

for  update(insert、delete等)

as

Transact-SQL( 一些SQL语句、类似于下面这这串代码)

--定义变量
declare @password varchar(20),@UserName varchar(20), @temp int,@birthday datetime;
--在 inserted(虚拟表)表中查询已经插入的记录信息
select @password=password,@UserName=UserName,@birthday=Birthday,@temp=Gender from inserted;
-- set @[email protected]+CONVERT(varchar,@password);
--set @[email protected]/2;
insert into SYS_Users(UserName,Password,Gender,Birthday) values(@UserName,@password,@temp,@birthday);
--打印信息提示成功
print ‘添加用户成功‘

删除触发器T-SQL语句备份解析

例子:  SYS_Users 表名 .‘U‘指类型表

as
  print ‘备份数据库中.......‘;
  if(OBJECT_ID(‘SYS_Users‘,‘U‘)is not null)
  --存在SYS_Users 表,直接插入数据
  insert into SYS_Users select UserName,[Password],Gender,Birthday,CreateDate,IsDelete from deleted
  else
  --不存在classesBackup创建再插入
   select * into SYS_Users1 from deleted;
   print ‘备份数据成功!‘;
insert into SYS_Users select UserName,[Password],Gender,Birthday,CreateDate,IsDelete from deleted上面这串代码表示在 SYS_Users 插入 deleted 的信息,也就是删除的的数据从而达到了备份的效果
 select * into SYS_Users1 from deleted;上面这串语句表示 创建一张和deleted数据结构相同的新表,表的名称为 SYS_Users1,并且将deleted里面的数据添加到 SYS_User1表中

原文地址:https://www.cnblogs.com/XiangZiPeng/p/11133528.html

时间: 2024-08-28 14:26:36

SQL Server 触发器、事务、以及存储过程详解的相关文章

SQL Server 默认跟踪 -- 捕获事件详解

SQL Server 默认跟踪 -- 捕获事件详解 哪些具体事件默认跟踪文件能够捕获到? --returns full list of events SELECT * FROM sys.trace_events --returns a full list of categories SELECT * FROM sys.trace_categories --returns a full list of subclass values SELECT * FROM sys.trace_subclass

SQL Server数据库ROW_NUMBER()函数使用详解

SQL Server数据库ROW_NUMBER()函数使用详解 摘自:http://database.51cto.com/art/201108/283399.htm SQL Server数据库ROW_NUMBER()函数的使用是本文我们要介绍的内容,接下来我们就通过几个实例来一一介绍ROW_NUMBER()函数的使用. 实例如下: 1.使用row_number()函数进行编号,如 select email,customerID, ROW_NUMBER() over(order by psd) a

SQL Server 发布订阅 发布类型详解

MicrosoftSQL Server 提供了三种复制类型. 每种复制类型都适合于不同应用程序的要求. 根据应用程序需要,可以在拓扑中使用一种或多种复制类型: 快照复制 事务复制 合并复制 为了帮助您选择适当的复制类型,此主题提供了有关下列内容的信息: 复制方案 本部分简要描述了复制的多种常用情况,还提供了指向更加详细描述的链接. 复制类型 本部分描述了每个复制类型所适合的应用程序要求. 在订阅服务器上更新数据 本部分描述了需要在订阅服务器上更新数据的应用程序的可用选项. 我们建议您先要通读方案

SQL Server UPDATE语句的用法详解

SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解. 现实应用中数据库中的数据改动是免不了的.通常,几乎所有的用户数据库中的大部分数据都要进行某种程度的修改.在SQL Server数据库中要想修改数据库记录,就需要用UPDATE语句,UPDATE语句就是为了改变数据库中的现存数据而存在的.这条语句虽然有一些复杂的选项,但确实是最容易学习的语句之一.这是因为在大

SQL SERVER 2000安装教程图文详解

注意:Windows XP不能装企业版.win2000\win2003服务器安装企业版一.硬件和操作系统要求 下表说明安装 Microsoft SQL Server 2000 或 SQL Server 客户端管理工具和库的硬件要求. 硬件 最低要求计算机 Pentium 166 MHz 或更高. 内存 (RAM)至少 64 MB,建议 128 MB 或更多.根据笔者的经验,内存容量可以和数据容量保持1:1的比例,这样可以更好的发挥其效能.硬盘空间需要约500MB的程序空间,以及预留500M的数据

如何编写sql server 触发器详解

在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程.常见的触发器有三种:分别应用于Insert , Update , Delete 事件. 编写之前要了解一个关键知识.触发器用到的两个临表:Deleted , Inserted . Deleted 和 Inserted 分别存储触发事件表的"旧的一条记录"和"新的一条记录". 一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧

SQL Server 事务隔离级别详解

原文:SQL Server 事务隔离级别详解 标签: SQL SEERVER/MSSQL SERVER/SQL/事务隔离级别选项/设计数据库事务级别 SQL 事务隔离级别 概述 隔离级别用于决定如果控制并发用户如何读写数据的操作,同时对性能也有一定的影响作用. 步骤 事务隔离级别通过影响读操作来间接地影响写操作:可以在回话级别上设置事务隔离级别也可以在查询(表级别)级别上设置事务隔离级别.事务隔离级别总共有6个隔离级别:READ UNCOMMITTED(未提交读,读脏),相当于(NOLOCK)R

sql学习笔记(16)----------mysql存储过程详解

mysql存储过程详解 1.     存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的.

SQL Server触发器

触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器.SQL Server 2005中触发器可以分为两类:DM

SQL Server 触发器 转http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html

SQL Server 触发器 触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触 发器是当对某一个表进行操作.诸如:update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器.SQL Server 2