sql 触发器使用例子
inserted,deleted是在触发器中使用的两个临时表,当执行insert操作时,在inserted中存储着当前插入的记录,在执行delete操作时,在deleted中存储着当前删除的记录,当执行update时,在inserted中存储着修改后的记录,在deleted中存储着修改前的记录。
代码如下:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [dnt_user_add]
ON [dbo].[dnt_users]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
insert into [dnt_userfields](uid)
select uid from inserted
END
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dnt_users_del]
ON [dnt_users]
AFTER DELETE
AS
BEGIN
SET NOCOUNT ON;
delete [dnt_userfields] from deleted where [dnt_userfields].uid=deleted.uid
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dnt_users_up]
ON [dnt_users]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE [dnt_userfields] Set icq = inserted.uid from inserted where [dnt_userfields].uid = inserted.uid
END
GO
相关推荐
-
sql 触发器使用例子
inserted,deleted是在触发器中使用的两个临时表,当执行insert操作时,在inserted中存储着当前插入的记录,在执行delete操作时,在deleted中存储着当前删除的记录,当执行update时,在inserted中存储着修改后的记录,在deleted中存储着修改前的记录. 复制代码 代码如下: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER TRIGGER [dnt_user_add] ON [dbo].[dnt_u
-
SQL触发器实例讲解
SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. 常见的触发器有三种:分别应用于Insert , Update , Delete 事件. 我为什么要使用触发器?比如,这么两个表: 复制代码 代码如下: Create Table Student( --学生表 StudentID int primary key, --学号 .... ) Create Table BorrowRecord(
-
在SQL触发器或存储过程中获取在程序登录的用户
实现一个AuditLog的功能,是B/S结构专案. 每个用户可以登录系统,在程序中操作数据(添加,更新和删除)需要实现记录操作跟踪.是谁添加,更新和删除的,这些信息将会插入至AuditLog表中. 一般情况之下,在SQL的触发器中,只能取到(SQL验证sa:Windows验证Domain\xxx).这些用户名,达不到效果,不能真正反映到是谁操作的. 下面是让你清楚,怎样实现在SQL触发器或存储过程中获取在程序登录的用户,是在插入,更新或删除的存储过程,把登录程序当前用户传入进去.在存储过程中,再
-
用Python将Excel数据导入到SQL Server的例子
使用环境:Win10 x64 Python:3.6.4 SqlServer:2008R2 因为近期需要将excel导入到SQL Server,但是使用的是其他语言,闲来无事就尝试着用python进行导入,速度还是挺快的,1w多条数据,也只用了1s多,代码也比较简单,就不多解释了. 用到的库有xlrd(用来处理excel),pymssql(用来连接使用sql server) import xlrd import pymssql import datetime # 连接本地sql server
-
SQL触发器定义与使用
目录 触发器简介 触发器的创建及调用 触发器的分类及执行顺序 触发器的删除 触发器的优缺点 比如:现需要向学生表中插入新的学生数据.但在插入学生数据的时,需要同时检查老师表里的数据.如果插入学生的老师不在老师表里,则先向老师表中插入一条老师数据,再向学生表中插入学生数据. CALL sp_add_student( 'S20170091', '杨艳', '女', '2003-04-09', 15, 'G0206', 89.23, 'T0021' ); 如果有多个学生的数据需要插入,则需要多次调用该
-
ORACLE PL/SQL 触发器编程篇介绍
1.基本概念 两种功能:完成由数据库的完整性约束难以完成的复杂业务规则的约束:监视数据库的各种操作,实现审计功能. 触发器分为:DML触发器(对表或视图执行DML操作时触发),INSTEAD OF触发器(只定义在视图上,替代实际的操作语句),系统触发器(对数据库系统进行操作时触发,如DDL语句.启动或关闭数据库等) 触发事件: 上述触发器中括号内容都是触发事件. 触发条件: WHEN子句 触发对象:包括表.视图.模式.数据库. 触发操作:触发器自动执行的程序. 触发时机:触发器相对操作执行的时间
-
在ironpython中利用装饰器执行SQL操作的例子
比较喜欢python的装饰器, 试了下一种用法,通过装饰器来传递sql,并执行返回结果 这个应用应该比较少 为了方便起见,直接使用了ironpython, 连接的mssql server # -*- coding: utf-8 -*- import clr clr.AddReference('System.Data') from System.Data import * from functools import wraps conn_str = "server=localhost;databa
-
[Oracle] 如何使用触发器实现IP限制用户登录
下面是一个触发器的例子: 复制代码 代码如下: create or replace trigger logon_ip_controlafter logon on databasedeclare ip STRING(30); user STRING(30);beginSELECT SYS_CONTEXT('USERENV','SESSION_USER') into user from dual;SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') into ip
-
sqlserver 触发器实例代码
定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. 常见的触发器有三种:分别应用于Insert , Update , Delete 事件. 我为什么要使用触发器?比如,这么两个表: 复制代码 代码如下: Create Table Student( --学生表 StudentID int primary key, --学号 .... ) Create Table BorrowRecord( --学生借书记录表
-
mysql触发器之创建多个触发器操作实例分析
本文实例讲述了mysql触发器之创建多个触发器操作.分享给大家供大家参考,具体如下: 这次记录的内容mysql 版本必须得是5.7.2+的哈,之前的会不好使的.废话不多说,咱们开始正文哈. 在mysql 5.7.2+版本之前,我们只能为表中的事件创建一个触发器,例如,只能为BEFORE UPDATE或AFTER UPDATE事件创建一个触发器. mysql 5.7.2+版本解决了这样限制,并允许我们为表中的相同事件和动作时间创建多个触发器.当事件发生时,触发器将依次激活.我们来参考创建第一个触发
随机推荐
- python numpy函数中的linspace创建等差数列详解
- Java那点事——StringBuffer与StringBuilder原理与区别
- Python中的__new__与__init__魔术方法理解笔记
- 轻松理解JavaScript闭包
- JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
- 在Javascript中为String对象添加trim,ltrim,rtrim方法
- asp.net中通过ALinq让Mysql操作变得如此简单
- php三维数组去重(示例代码)
- Java 项目生成静态页面的代码
- 详解C++中的const关键字及与C语言中const的区别
- Ubuntu 14.04 搭建 apt-get 服务器的教程
- AD操作主机说明
- android如何获取经纬度
- 找回消失的本地连接的图文步骤
- php使用curl实现ftp文件下载功能
- asp.net 使用Response.Filter 过滤非法词汇
- 基于BootStrap与jQuery.validate实现表单提交校验功能
- PHP获取文件扩展名的常用方法小结【五种方式】
- 网易Java程序员两轮面试 请问你能答对几个?
- python+pygame实现坦克大战