达梦数据库的触发器管理

达梦数据库的触发器管理

触发器类型有分为操作前触发、操作后触发、DLL事件触发、系统事件触发、时间触发等等,触发器与存储过程的区别是触发器不能单独执行调用,而是在用户执行特定语句时自动触发执行触发器。以下举例常见的插入事件、更新事件做演示。

1、创建BEFORE触发器测试
准备工作
创建触发器前先建两张测试表(数据表和结果表),目的在数据表插入前就执行触发器里的语句,触发器里的语句是统计当前数据库的记录数。
create table tab_before(id int, name varchar(20));
insert into tab_before values(1,‘aaa‘);
insert into tab_before values(2,‘bbb‘);
insert into tab_before values(3,‘bbb‘);

create table tab_before_result (type varchar(20),num int);

创建触发器
create or replace trigger trigger_before
before insert on tab_before
begin
insert into tab_before_result select ‘before‘,count(*) from tab_before;
end;
/

测试验证
插入一条数据测试,看看是不是统计插入前的记录数
insert into tab_before values(4,‘bbb‘);

查看的结果是只有3条初始化的记录,第4条插入的记录未统计。
select * from tab_before_result;

2、创建AFTER触发器测试
准备工作
创建触发器前同样也先建两张测试表(数据表和结果表),目的是在数据表插入后执行触发器里的语句,触发器里的语句是统计当前最新数据库的记录数。
create table tab_after(id int, name varchar(20));
insert into tab_after values(1,‘aaa‘);
insert into tab_after values(2,‘bbb‘);
insert into tab_after values(3,‘bbb‘);

create table tab_after_result (type varchar(20),num int);

创建触发器
create or replace trigger trigger_after
after insert on tab_after
begin
insert into tab_after_result select ‘after‘,count(*) from tab_after;
end;
/

测试验证
插入一条数据测试,看看是不是统计插入后的记录数
insert into tab_after values(4,‘bbb‘);

查看的结果是统计最新的4条初始化的记录,包含了第4条插入的记录。
select * from tab_after_result;

3、创建DLL事件触发器测试
准备工作
创建触发器前先建两张测试表(数据表和结果表),当数据库发生DDL语句操作时会执行触发器里的语句内容。
测试1:在数据表插入记录,看是否会执行触发器里的语句。
目的2:创建一张新表看结果表发生的变化,看是否会执行触发器里的语句。
create table tab_ddl(id int, name varchar(20));
create table tab_ddl_result (type varchar(20),num int);

创建触发器
create or replace trigger trigger_ddl
before create
on schema
begin
insert into tab_ddl_result select ‘ddl‘,count(*) from tab_ddl;
end;
/

测试验证
插入一条数据测试,结果是没有执行触发器
insert into tab_ddl values(1,‘aaa‘);

创建一张表测试,结果是执行了触发器里的语句
create table tab_ddl2(id int, name varchar(20));

原文地址:https://blog.51cto.com/14615334/2463426

时间: 2024-08-04 06:09:51

达梦数据库的触发器管理的相关文章

达梦数据库的用户管理

达梦数据库的用户管理 安装完达成梦数据库,系统默认会自带有一些系统级的用户:1.sys -----达梦数据库内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图sys.2.Sysdba -----数据库的管理员3.Sysauditor---审计用户4.Syssso---安全用户 在达梦数据库里每一个用户都有一个默认的表空间,对于 SYS.SYSSSO.SYSAUDITOR 系统用户,默认的用户表空间是 SYSTEM,SYSDBA 的默认表空间为 MAIN,新创建的用户如果没有

达梦数据库的角色管理

达梦数据库的角色管理 角色管理在日常中的使用场景是比较少,一般主要数据库自带的角色,外加针对部分用户或部分表的各性化需求来配置就可以,这篇也同样按之前的思路来对角色的创建.修改.删除等基本功能做下实践操作,及给角增加权限建表等权限,测试权限功能. 1.查看所有角色select * from dba_roles; 2.创建角色接下来我们创建create role role1; 创建一张tab1表做个测试 3.角色添加权限我们先来给这个角色赋值查询表的权限,并分配给test1用户,来做个测试赋值查询

达梦数据库的视图管理

达梦数据库的视图管理 视图(view),也称虚表, 不占用物理空间,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑表,每次使用的时候,只是重新执行SQL.还有一种叫物化视图(materialized view),也称实体化视图,它是含有数据的,占用存储空间. 1.视图管理视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中.那些用于产生视图的表叫做该视图的基表,一个视图也可以从另一个视图中产生. 创建测试表,并且插入一条数据测试create table tab_view_c

达梦数据库表空间管理

表空间 数据库的物理结构:文件系统-数据文件数据库的逻辑结构:数据库-表空间(多个数据文件构成)-段-簇-页(一) 达梦默认有哪些表空间及其作用1.查看表空间[语句]SQL>select tablespace name from dba tablespaces:(1) SYSTEM:系统表空间,存放数据字典信息(2) ROLL:回滚表空间,存放回滚数据,对一个数据进行更新操作,存放的是更新前的版本信息,可以支持MVCC(事务多版本机制)(3) TEMP:临时表空间,存放临时数据,可不做备份(4)

达梦数据库(第二部分)

1.达梦数据库创建表 达梦数据安装完成之后,打开DM管理工具,可以进行数据库的相关操作.可以通过新建查询,在SQL命令窗口输入sql语句,创建表,sql输入完成之后,选择sql进行执行,则会在表空间MAIN下的表路径下产生新建的表文件,如下图: 2.建立主键 Create table时通过primary key创建主键 如:create table person(ID int primary key,name varchar(10),address varchar(60)) 或者通过alter语

基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作

由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于Enterprise Library的数据访问层的实现,因此增加一个数据库的支持很容易,本文介绍如何在框架层面上支持这种神秘的国产数据库-达梦数据库. 1.达梦数据库的简单介绍 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM.达梦数据库管理系统的最新版本是7.

达梦数据库安装和创建表

1.达梦数据库安装 2.达梦命令行sql工具 进去达梦数据库安装目录下的/bin目录 运行./disql 输入用户名和密码: 默认的管理用户SYSDBA 的初始密码是SYSDBA 在sql> 工具里边执行sql操作

DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库

DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要       本文详细地介绍了"万能数据库查询分析器",中文版本<DB 查询分析器>.英文版本<DB Query Analyzer>6.03如何灵活.快捷地操作国产达梦数据库.除了创建基于不同数据库产品的ODBC数据源有所不同外,用"万能数据库查询分析器"操作任何数据库.EXCEL.TXT/CSV文件的方法跟本文

国产达梦数据库的结合Enterprise Library的应用开发

在上篇<基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作>介绍了如何在Enterprise Library的数据访问层上支持这种神秘的国产数据库-达梦数据库.本文继续这一主题,介绍产达梦数据库的结合Enterprise Library的应用开发. 1.达梦数据库还原处理 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM.达梦数据库管理系统的最新版本是7.0版本,简称DM7.DM7提供对SQL92的特性支持以及