首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【DB笔试面试448】Oracle中有哪几类触发器?

例如:DML语句(INSERT、UPDATE和DELETE语句对表或视图执行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句等在数据库中创建、修改、删除模式对象)、数据库系统事件(如系统启动或退出...既可以是单个触发事件,也可以是多个触发事件的组合(只能使用OR逻辑组合,不能使用AND逻辑组合)。...针对所有的DML事件,按触发的时间可以将DML触发器分为BEFORE触发器和AFTER触发器,另外,DML触发器也可以分为语句级触发器与行级触发器。...:一个或多个DDL事件,事件间用OR分开,可以对所有DDL语句监控(直接写DDL),也可以对个别DDL语句监控。...l 在触发器的执行部分只能使用DML语句(例如SELECT、INSERT、UPDATE、DELETE等),不能使用DDL语句(例如CREATE、ALTER、DROP等)。

2.1K10

【愚公系列】软考高级-架构设计师 061-SQL语言

SQL语言包含以下几种类型的语句:数据定义语言 (DDL, Data Definition Language): 这些语句用于定义、修改或删除数据库结构和表结构。...ALTER 修改现有的数据库结构。DROP 删除表格或数据库。数据操作语言 (DML, Data Manipulation Language): 这些语句用于数据的增加、删除、更新和查询操作。...;ALTER TABLE: 修改现有表格的结构,可以添加、修改或删除列。...DELETE FROM table_nameWHERE condition;这些DML操作是对数据库中数据进行插入、更新和删除的基本操作。通过结合使用这些操作,可以对数据库进行有效的数据管理和操作。...通过组合使用这些操作,可以实现复杂的数据查询和分析需求。4.常见的TCL操作TCL(事务控制语言)操作用于管理数据库中的事务,包括提交事务、回滚事务和设置事务的保存点。

16421
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    架构师技能6:深入MySQL原理-Waiting for table metadata lock引发系统崩溃

    此外,由于 DDL 操作占用了表 A 的写锁,所以表 A 上的 DDL 和 DML 都将阻塞无法提供服务。...1、Online ddl用法 ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE; ALTER 语句中可以指定参数...ALGORITHM 和 LOCK 分别指定 DDL 执行的方式和 DDL 期间 DML 的兵法控制 ALGORITHM=INPLACE 表示执行DDL的过程中不发生表拷贝,过程中允许并发执行DML(INPLACE...这是最基本的一种情形,这个和mysql 5.6中的online ddl并不冲突,一般alter table的操作过程中(见下图),在after create步骤会获取metadata 独占锁,当进行到altering...; sesssion 3:           select * from table2 limit 1; --可以查询    select * from table1 limit 1; 卡住 处理方法

    88510

    SQL 语法速成手册

    DDL 的主要功能是定义数据库对象。 DDL 的核心指令是 CREATE、ALTER、DROP。...DML 的主要功能是 访问数据,因此其语法都是以读写数据库为主。 DML 的核心指令是 INSERT、UPDATE、DELETE、SELECT。...在没有条件语句的情况下返回笛卡尔积。 自连接可以看成内连接的一种,只是连接的表是自身而已。 自然连接是把同名列通过 = 测试连接起来的,同名列可以有多个。...约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。 约束类型 NOT NULL - 指示某列不能存储 NULL 值。...) 八、事务处理 不能回退 SELECT 语句,回退 SELECT 语句也没意义;也不能回退 CREATE 和 DROP 语句。

    17.2K40

    【重学 MySQL】十一、SQL 概述

    主要特点 综合统一:SQL集数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义数据库中的数据、建立数据库、...核心指令:SELECT。 特点:DQL通常与FROM、WHERE、GROUP BY、HAVING、ORDER BY等子句结合使用,以构造复杂的查询语句。...特点:TCL操作允许将多个DML操作组合成一个逻辑事务,通过提交(COMMIT)或回滚(ROLLBACK)来确保事务的原子性、一致性、隔离性和持久性(ACID特性)。...需要注意的是,虽然TCL在某些分类中被单独列出,但在一些资料中,它可能被视为DML或DCL的一部分,或者与它们并列作为SQL的一个独立类别。这取决于具体的分类方法和上下文环境。...综上所述,SQL语言根据其功能和应用领域的不同,可以分为数据查询语言(DQL)、数据操纵语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)以及事务控制语言(TCL)等几个主要类别。

    8910

    MySQl复习笔记-(1)-基础.md

    SQL语句就是对数据库进行操作的一种语言。 SQL的作用 通过SQL语句我们可以方便的操作数据库、表、数据。 SQL是数据库管理系统都需要遵循的规范。...SQL通用语法 SQL语句可以单行或多行书写,分号结尾 可以使用空格和缩进增强语句的可读性 MySQL数据库的SQL语句不区分大小写,关键字建议大写 三种注释 单行注释(– 注释内容) 多行注释(/*...; 切换数据库 USE '数据库'; DDL小结 DDL语句操作数据库 关键字 创建 CREATE DATABASE 数据库名; 修改 ALTER DATABASE 数据库名 DEFAULT CHARACTER...(建议单引号) 如果要插入空值,可以不写字段,或者插入null DQL没有条件的简单查询 注意:查询不会对数据库中的数据进行修改,只是一种显示数据的方式。...FROM 表名 AS 表别名; 清除重复值 SELECT DISTINCT '字段名' FROM '表名'; 某列数据和固定值运算 SELECT 字段名 + 数值 FROM 表名; 某列数据和其他列数据参与运算

    89320

    聊聊 MySQL 的 Online DDL

    我们可以认为: CREATE,ALTER ,DROP,TRUNCATE,定义相关的命令就是DDL; SELECT,INSERT,UPDATE,DELETE,操作处理数据的命令就是DML; DDL、DML...区别: DML操作是可以手动控制事务的开启、提交和回滚的。...在MySQL 5.6版本以前,最昂贵的数据库操作之一就是执行DDL语句,特别是ALTER语句,因为在修改表时,MySQL会阻塞整个表的读写操作。...两种算法 第一种 Copy: 按照原表定义创建一个新的临时表; 对原表加写锁(禁止DML,允许select); 在步骤1 建立的临时表执行 DDL; 将原表中的数据 copy 到临时表; 释放原表的写锁...Online DDL 过程中占用 exclusive MDL 的步骤执行很快,所以几乎不会阻塞 DML 语句。 不过,在 DDL 执行前或执行时,其他事务可以获取 MDL。

    97120

    基础SQL语句学习

    不知道有没有同学跟我一样,我一开始学sql语句的时候就觉得这个东西很无趣,不爱学,而且当时不知道从哪了解到数据库管理员都是一些年纪比较大的程序员在做。...标准的sql语句还是很好学的,特别是有了编程基础后,记得以前学语言的时候,都说先学C语言,学好了C就可以学习任何语言了,现在理解来看,不是C语言多强大,多优秀,而是C是最接近底层的语言,可以了解指针,内存操作等很多底层的东西...//增删改查 SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于执行查询的语法。...查询和更新指令构成了 SQL 的 DML 部分: SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据...SQL 中最重要的 DDL 语句: CREATE DATABASE - 创建新数据库 ALTER DATABASE - 修改数据库 CREATE TABLE - 创建新表 ALTER TABLE - 变更

    42630

    MySQL基础锁小结

    业务的更新不只是增删改数据(DML),还有可能是加字段等修改表结构的操作(DDL)。不论是哪种方法,一个库被全局锁上以后,要对里面任何一个表做加字段操作,都是会被锁住的。...2.设置等待时间 比较理想的机制是,在 alter table 语句里面设定等待时间,如果在这个指定的等待时间里面能够拿到 MDL 写锁最好,拿不到也不要阻塞后面的业务语句,先放弃。...方案 一种头痛医头的方法,就是如果你能确保这个业务一定不会出现死锁,可以临时把死锁检测关掉。...间隙锁和next-key lock的引入,解决了幻读的问题,但可能会导致同样的语句锁住更大的范围,这其实是影响了并发度的。 读提交隔离级别加binlog_format=row的组合。...但同时要解决可能出现的数据和日志不一致问题,需要把 binlog 格式设置为 row。这也是现在不少公司使用的配置组合。 参考资料 MySQL实战45讲

    52040

    【DB笔试面试594】在Oracle中,关键字NOLOGGING、APPEND和PARALLEL提高DML性能方面有什么差别?

    表 3-22 表模式、插入模式、运行模式和并行模式的组合效率 序号DDL/DML OPERATIONS TYPESDDL/DML OPERATIONSDIRECT-PATHNOLOGGINGPARALLELARCHIVELOG...2、 CTAS:CTAS本身就是一种DIRECT的操作,归档模式和NOLOGGING模式组合可以产生少量Redo。在并行模式下执行时间大幅度减少,但生成的Redo和Undo成倍增长。...3、 ALTER TABLE ... MOVE:归档模式和NOLOGGING模式组合可以产生少量Redo。在并行模式下执行时间大幅度减少,但生成的Redo和Undo成倍增长。...并行DDL操作(PDDL) 表或索引的CREATE或ALTER操作可以使用并行。...n; --强制开启 ALTER SESSION DISABLE PARALLEL DDL; --禁用并行DML(PDML)默认关闭查询SELECT D.PDML_STATUS FROM V$SESSION

    1.7K20

    SqlAlchemy 2.0 中文文档(三十七)

    你在 SELECT 语句的“列”子句中(以及 order by 和 group by)放置的任何东西都可以从这个派生 - 该对象将自动具有 Python 的“比较”行为。...Executable - 这是一个 mixin,应该与任何表示可以直接传递给execute()方法的“独立”SQL 语句的表达式类一起使用。...您在 SELECT 语句的“columns”子句中(以及 order by 和 group by)中放置的任何内容都可以从这里派生 - 该对象将自动具有 Python 的“比较”行为。...(请注意,子查询通常应该使用 Select.alias() 方法创建,因为许多平台要求嵌套的 SELECT 语句必须被命名)。...一种是它可以作为一个实现该类各种访问方法的对象的超类。另一种是InternalTraversal自身的符号被用在_traverse_internals集合中。

    36410

    SQL笔记

    DML(Data Manipulation Language)数据操作语言,用于检索或者修改数据 DDL(Data Definition Language)数据定义语言,用于定义数据的结构, 比如 创建...DCL(Data Control Language)数据控制语言,用于定义数据库用户的权限 DML SELECT INSERT UPDATA DELETE DDL CREATE TABLE ALTER...TABLE DROP TABLE DROP INDEX DCL ALTER PASSWORD GRANT REVOKE CREATE SYNONYM SELECT语句 GROUP BY 集中所有的行在一起...组合条件和布尔运算符 AND/OR IN/BETWEEN 相对应 NOT IN / NOT BETWEEN JOIN子句 join允许你从两个表或者更多的表连接进行数据检索,而只需要用一个SELECT语句...GROUP BY 的时候,可以使用开窗函数代替聚合函数; - 当你的语句中没有 GROUP BY 的时候,你不能同时使用聚合函数和其它函数; - 有一些方法可以将普通函数封装在聚合函数中; 集合运算

    70820

    ORACLE触发器具体解释

    它就是ORACLE 8专门为进行视图操作的一种处理方法。 8.1.3 系统触发器 ORACLE 8i 提供了第三种类型的触发器叫系统触发器。...比如:DML语句(INSERT, UPDATE, DELETE语句对表或视图运行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句在数据库中创建、改动、删除模式对象)、数据库系统事件(...l 在触发器的运行部分仅仅能用DML语句(SELECT、INSERT、UPDATE、DELETE),不能使用DDL语句(CREATE、ALTER、DROP)。...、之后触发 DROP BEFORE,AFTER 在运行DROP语句删除数据库对象之前、之后触发 ALTER BEFORE,AFTER 在运行ALTER语句更新数据库对象之前、之后触发 DDL BEFORE...ALTER TRIGGER语句一次仅仅能改变一个触发器的状态,而ALTER TABLE语句则一次可以改变与指定表相关的全部触发器的使用状态。

    1.2K30

    mysql架构sql基础

    被称之为onlineddl 在有(dml操作时)可以''并行''进行表结构修改 在5.6之前所有的ddl操作是会阻塞的 alter table 时algorilhm可以指定的几种方式 copy :...所有的alter操作都可以采用copy 1先通过 create like 语句 #s锁 阻塞ddl 原来数据目录下创建临时表 2在新表上加列, #s锁 阻塞ddl 3 s锁转换x锁 此时阻塞...ddl dml 4 把原表数据cp到新表 insert select 5 delete 老表 rename新表 6释放所有的锁 inplace(对元数据不修改可以用inplace)少部分场景下可以用...如何判断一个ddl操作是不是可以用inplace的 执行 alter table 时候可以根据执行完看影响多少以便于判断是否可以online 1预备阶段 s锁升级成x锁(此时dml ddl是阻塞的)...2执行阶段 x锁降级成s锁(此时dml可以并行) 2修改frm ibdata1 阻塞ddl 3 dml 新增操作会记录到 row log 3提交阶段 s升级到x 阻塞dml ddl 重做row log

    88131

    架构师技能5:深入MySQL原理-Waiting for table metadata lock引发系统崩溃

    此外,由于 DDL 操作占用了表 A 的写锁,所以表 A 上的 DDL 和 DML 都将阻塞无法提供服务。...1、Online ddl用法 ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE; ALTER 语句中可以指定参数...ALGORITHM 和 LOCK 分别指定 DDL 执行的方式和 DDL 期间 DML 的兵法控制 ALGORITHM=INPLACE 表示执行DDL的过程中不发生表拷贝,过程中允许并发执行DML(INPLACE...这是最基本的一种情形,这个和mysql 5.6中的online ddl并不冲突,一般alter table的操作过程中(见下图),在after create步骤会获取metadata 独占锁,当进行到altering...; sesssion 3: select * from table2 limit 1; --可以查询 select * from table1 limit 1; 卡住 处理方法

    95530

    SQL 语法速成手册

    DDL 的主要功能是定义数据库对象。 DDL 的核心指令是 CREATE、ALTER、DROP。...DML 的主要功能是 访问数据,因此其语法都是以读写数据库为主。 DML 的核心指令是 INSERT、UPDATE、DELETE、SELECT。...在没有条件语句的情况下返回笛卡尔积。 自连接可以看成内连接的一种,只是连接的表是自身而已。 自然连接是把同名列通过 = 测试连接起来的,同名列可以有多个。...约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。 约束类型 NOT NULL - 指示某列不能存储 NULL 值。...) 八、事务处理 不能回退 SELECT 语句,回退 SELECT 语句也没意义;也不能回退 CREATE 和 DROP 语句。

    16.9K20

    游标和触发器

    游标是指向上下文区的指针,它为应用提供了一种对具有多行数据查询结果集中的每一行数据分别进行单独处理的方法。 6.1 .1显式游标 游标分为显式游标和隐含游标两种。...其中,隐含游标用于处理SELECT…INTO和DML语句,而显式游标则用于处理SELECT语句返回的多行数据。 为了处理SELECT语句返回的多行数据,开发人员可以使用显式游标。...在触发器的执行部分只能用DML语句(SELECT、INSERT、UPDATE、DELETE),不能使用DDL语句(CREATE、ALTER、DROP)。 6....触发事件:引起触发器被触发的事件,即DML操作(INSERT、UPDATE、DELETE)。既可以是单个触发事件,也可以是多个触发事件的组合(只能使用OR逻辑组合,不能使用AND逻辑组合)。...Ø 游标分为显式游标和隐含游标两种。其中,隐含游标用于处理SELECT…INTO和DML语句,而显式游标则用于处理SELECT语句返回的多行数据。

    7010

    oracle怎么使用触发器,Oracle触发器的使用

    )和DDL操作建立触发器。...启动和关闭例程 Oracle错误信息 用户登陆和关闭会话 特定表和视图的DML操作 DDL语句 2、触发条件(可选) 触发条件是指使用when子句指定一个boolean表达式,当表达式返回true时,则执行触发器相应代码...触发器代码只能包括insert、update和delete语句,而不能包括DDL语句(create、drop、alert)和事务控制语句(commit,rollback和savepoint)。...2、触发事件 触发条件是指被引起触发器执行的DML语句,即insert、update、delete操作。即可以使用单个触发事件,也可以组合多个触发事件。...简单地说,实现方法如下所示: SELECT 列名1...列名n from (SELECT 列 …… 数据字典dict总是属于Oracle用户sys的。

    2.4K30
    领券