教务管理系统触发器的创建

 2025-01-13 06:15:01  阅读 538  评论 0

摘要:1.使用T-SQL语句创建触发器 创建触发器使用CREATE TRIGGER语句。 语法格式如下: CREATE TRIGGER 触发器名ON 表名 [WITH ENCRYPTION] FOR {[DELETE][,][INSERT][,][UPDATE] } [NOT FOR REPLICATION] AS SQL语句 [RETURE 整数表达式] 触发器作为一种数据库对象,在syscomment

1.使用T-SQL语句创建触发器

创建触发器使用CREATE TRIGGER语句。 语法格式如下:

教务管理系统触发器的创建

CREATE TRIGGER 触发器名ON 表名 [WITH ENCRYPTION]

FOR {[DELETE][,][INSERT][,][UPDATE] } [NOT FOR REPLICATION] AS

SQL语句

[RETURE 整数表达式]

触发器作为一种数据库对象,在syscomment 表中存储有完整的文本定义信息。可以使用WITH ENCRYPTION 对访问syscomment表的入口进行加密。

NOT FOR REPLICATION: 定义在复制过程中,不执行触发器操作。 【例1】创建一个针对LWQK 表的触发器,打印共修改了多少行数据。

use lwzz

if exists (select name from sysobjects where name='tr_lwqk_update' and type='tr') drop trigger tr_lwqk_update go

use lwzz go

create trigger tr_lwqk_update on lwqk for update as

declare @msg varchar(100)

select @msg=str(@@rowcount)+'lwzz updated by this statement' print @msg return

go

在CREATE TRIGGER语句中不能使用SELECT语句返回对表格查询的数据,因为触发器不接受用户应用程序传递的参数,从而也无法向用户应用程序返回查询表格数据所得到的结果。 在创建触发器的语句中,禁止使用下列T-SQL语句: ALTER DATAbase ALTER PROCEDURE ALTER TABLE ALTER TRIGGER ALTER VIEW CREATE DATAbase CREATE DEFAULT CREATE INDEX CREATE PROCEDURE CREATE RULE CREATE TABLE CREATE TRIGGER DROP DATAbase DROP DEFAULT DROP INDEX DROP PROCEDURE DROP RULE DROP TABLE DROP TRIGGER DROP VIEW

GRANT RESTORE DATAbase RESTORE LOG REVOKE

TRUNCATE TABLE

由于系统表所存储数据的特殊性和重要性,所以建议用户不要自己在系统表上建立触发器。 在创建触发器时,不允许RETURN返回体现运行状态的数据。

【例2】创建一个当LWQK表执行INSERT、UPDATE操作时触发的触发器。

create trigger tr_products_insupd

on lwqk

for insert,update as

……

由于SQL Sever 支持在同一个表的同一种操作类型上建立多个触发器,所以当建了tr_products_insupd触发器后,在LWQK表执行INSERT操作时将触发tr_products_insupd触发器,在执行UPDATE操作时将触发tr_product_update和tr_products_insupd触发器,他们都是有效的触发器。

MSSQL触发器如何使用

create trigger tri_table_insert

after insert on table

for each row

is

begin

insert into table2(sex) values(:new.sex)

end tri_table_insert

/

MySQL如何创建一个触发器,功能是在一张表中insert一条数据,另一张表中的数据相应地进行update。

触发器是一种特殊的存储过程,类似于其它编程语言中的事件函数,SQL Server? 允许为 INSERT、UPDATE、DELETE 创建触发器,当在表(视图)中插入、更新、删除记录时,触发一个或一系列 T-SQL 语句。

本专题的目的并非是向您详尽地介绍触发器,而是系统地向您介绍触发器的常用知识与相关应用,并与您一起探讨应用经验,如果您需要了解触发器不常用的知识点,请参见 SQL Server? 联机丛书(安装 SQL Server? 时默认是安装的)。

a.基础-创建一个简单的触发器

触发器是一种特殊的存储过程,类似于事件函数,SQL Server? 允许为 INSERT、UPDATE、DELETE 创建触发器,即当在表中插入、更新、删除记录时,触发一个或一系列 T-SQL语句。

触发器可以在查询分析器里创建,也可以在表名上点右键->“所有任务”->“管理触发器”来创建,不过都是要写 T-SQL 语句的,只是在查询分析器里要先确定当前操作的数据库。

创建触发器用 CREATE TRIGGER

CREATE TRIGGER 触发器名称

ON 表名

FOR INSERT、UPDATE 或 DELETE

AS

T-SQL 语句

注意:触发器名称是不加引号的。

如下是联机丛书上的一个示例,当在 titles 表上更改记录时,发送邮件通知 MaryM。

CREATE TRIGGER reminder

ON titles

FOR INSERT, UPDATE, DELETE

AS

EXEC master..xp_sendmail 'MaryM',

'Don''t forget to print a report for the distributors.'

b.基础-删除触发器

用查询分析器删除

在查询分析器中使用 drop trigger 触发器名称 来删除触发器。

也可以同时删除多个触发器:drop trigger 触发器名称,触发器名称...

注意:触发器名称是不加引号的。在删除触发器之前可以先看一下触发器是否存在:

if Exists(select name from sysobjects where name=触发器名称 and xtype='TR')

用企业管理器删除

在企业管理器中,在表上点右键->“所有任务”->“管理触发器”,选中所要删除的触发器,然后点击“删除”。

c.基础-重命名触发器 ......

CREATE TRIGGER BeforeInsertTest

BEFORE INSERT ON change

FOR EACH ROW

BEGIN

UPDATE

message

SET

dept = new.newdept

WHERE

mid = new.cid

END

以上就是关于Sql 2000数据库怎么创建触发器,有谁会,截个图显示出来看一下全部的内容,如果了解更多相关内容,可以关注,你们的支持是我们更新的动力!

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【教务管理系统触发器的创建】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/zhishi/958925.html

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.1622秒, 内存占用1.98 MB, 访问数据库23次

陕ICP备14005772号-15