社区
MS-SQL Server
帖子详情
select语句能否定义触发器?
wangwei1998
2007-04-02 10:58:44
select语句能否定义触发器?
...全文
239
6
打赏
收藏
select语句能否定义触发器?
select语句能否定义触发器?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hxd001_810
2007-04-03
打赏
举报
回复
与存储过程一样,触发器也返回由触发器内的 SELECT 语句生成的结果集。不建议在触发器中包含 SELECT 语句,但仅填充参数的语句除外。这是因为用户不期望看到由 UPDATE、INSERT 或 DELETE 语句返回的结果集。
withcsharp
2007-04-03
打赏
举报
回复
你可以 用 事件探查器
leo_lesley
2007-04-03
打赏
举报
回复
只有这三种触发器 insert/update/delete
Zack999
2007-04-03
打赏
举报
回复
触发器 insert/update/delete
select 没有
jetdw
2007-04-02
打赏
举报
回复
不理解lz的意思
创建触发器用的是create trigger
select是不行的
dawugui
2007-04-02
打赏
举报
回复
什么意思?
实验六-
触发器
实验报告.doc
实验五
触发器
实验报告 [实验目的] 1. 理解Oracle
触发器
的种类和用途 2. 掌握行级
触发器
的编写 [预备知识] 1. PL/SQL程序设计 [实验原理] 1. 建立
触发器
CREATE [OR REPLACE] TRIGGER <
触发器
名> BEFORE"AFTER INSERT"DELETE"UPDATE OF <列名> ON <表名> [FOR EACH ROW] WHEN (<条件>)
ON 子句中的名称识别与数据库
触发器
关联的数据库表
触发器
事件指定了影响表的 SQL DML
语句
( INSERT、 DELETE 或 UPDATE) AFTER 指定了
触发器
在处理完成后触发 BEFORE 指定了
触发器
在处理完成前触发 默认情况下,
触发器
每个表触发一次 FOR EACH ROW 选项指定
触发器
每行触发一次(即
触发器
为行级
触发器
) 要使
触发器
触发,WHEN 子句中布尔型表达式的值必须判定为 TRUE 可以将 REPLACE 添加到 CREATE
语句
以自动删除和重建
触发器
2. 行级
触发器
中引用表数据 在行级
触发器
中,使用伪记录来表示旧数据:old和新数据:new 引用示例::new.customer_name, :old.customer_name 3. 行级
触发器
中的谓词 在一个多条件触发的
触发器
中,使用谓词可以区分当前触发的操作的类型:inserting, updating,deleting。 示例: IF Inserting THEN
语句
; END IF; IF Updating THEN
语句
; END IF; IF Deleting THEN
语句
; END IF; 4.
触发器
的限制
SELECT
语句
必须是
SELECT
INTO
语句
或内部游标声明。 行级
触发器
不可以对触发表进行查询,包括其调用的子过程中。 不允许 DDL 声明和事务控制
语句
。 如果由
触发器
调用存储子过程,则存储子程序不能包括事务控制
语句
。 :old 和 :new 值的类型不能是 LONG 和 LONG RAW。 [实验内容] 1. 给Customer表增加一列Savings,类型为int,来存放每个顾客的存款总额。 ALTER TABLE customer ADD (saving varchar2(30));
select
* from customer; 2. 更新Customer表,使得Savings字段的值正确。 3. 在Account表上增加一个行级
触发器
,当对account的balance进行update和insert一个 记录时同步修改Customer的Savings字段,保证数据的一致性。 4. 对account进行update操作,记录account表和customer表的变化。 5. 去掉顾客- 存款账号表中引用account表的外键约束(如果不去掉,后面的操作无法实现。当然最 佳的方法是修改其外键约束的更新策略,但考虑到复杂性,这里使用不标准的做法, 但建议大家实际运用中不要这么做)。在顾客- 存款账号表插入一条记录,表明顾客开设了一个新的账户。 6. 将一条刚才新开账户号的存款记录插入账号表,记录account表和customer表的变化。 [实验总结] 1. 实验中遇到的问题和解决的方法。 ----------------------- "触发事件 ":old ":new " "Insert "无
定义
,所有字段都是N"该
语句
完成后插入的值 " " "ULL " " "Update "更新前该行的旧值 "更新后该行的值 " "Delete "删除前该行的值 "无
定义
,所有字段都是N" " " "ULL "
Oracle
触发器
用法实例详解
本文实例讲述了Oracle
触发器
用法。分享给大家供大家参考,具体如下: 一、
触发器
简介
触发器
的
定义
就是说某个条件成立的时候,
触发器
里面所
定义
的
语句
就会被自动的执行。因此
触发器
不需要人为的去调用,也不能调用。然后,
触发器
的触发条件其实在你
定义
的时候就已经设定好了。这里面需要说明一下,
触发器
可以分为
语句
级
触发器
和行级
触发器
。详细的介绍可以参考网上的资料,简单的说就是
语句
级的
触发器
可以在某些
语句
执行前或执行后被触发。而行级
触发器
则是在
定义
的了触发的表中的行数据改变时就会被触发一次。 具体举例: 1、 在一个表中
定义
的
语句
级的
触发器
,当这个表被删除时,程序就会自动执行
触发器
里面
定义
的操作过程。这个就
mysql
触发器
详解!!!
触发器
有如下作用: 可在写入数据表前,强制检验或转换数据。
触发器
发生错误时,异动的结果会被撤销。 部分数据库管理系统可以针对数据
定义
语言(DDL)使用
触发器
,称为DDL
触发器
。 优点:
触发器
可通过数据库中的相关表实现级联更改,不过,通过级联引用完整性约束可以更有效地执行这些更改。
触发器
可以强制用比CHECK约束
定义
的约束更为复杂的约束。与 CHECK 约束不同,
触发器
可以引用其它表中的列。例如,
触发器
可以使用另一个表中的
SELECT
比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户
定义
错误信息。
触发器
也可以评估数据修改前后的表状态,并根据其差异采取对策。一个表中的多个同类
触发器
(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改
语句
。 CREATE
语句
,如:CREATE DATABASE、CREATE TABLE、CREATE INDEX 等。 ALTER
语句
,如:ALTER DATABASE、ALTER TABLE、ALTER INDEX 等。 DROP
语句
,如:DROP DATABASE、DROP TABLE、DROP IN
SQLSever中的
触发器
基本语法与作用
什么是
触发器
?
触发器
是在对表进行插入、更新或删除操作时自动执行的存储过程。
触发器
对表进行插入、更新、删除的时候会自动执行的特殊存储过程。
触发器
一般用在check约束更加复杂的约束上面。
触发器
和普通的存储过程的区别是:
触发器
是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的
触发器
。SQL Server 2005中
触发器
可以分为两类:DML
触发器
和DDL
触发器
,其中DDL
触发器
它们会影响多种数据
定义
语言
语句
而激发,这些
语句
有create、alter、drop
语句
。 SQL Server为每个
触发器
都创建了两个专用表﹕Insert
SQL SERVER
触发器
介绍
触发器
是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。
触发器
主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 Ø 什么是
触发器
触发器
对表进行插入、更新、删除的时候会自动执行的特殊存储过程。
触发器
一般用在check约束更加复杂的约束上面。
触发器
和普通的存储过程的区别是:
触发器
是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的
触发器
。SQL Server 2005中
触发器
可以分为两类:DML
触发器
和DDL
触发器
,其中DDL
触发器
它们会影响多种数据
定义
语言
语句
而激发,这些
语句
有creat
MS-SQL Server
34,594
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章