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

Oracle:如何在"AFTER ALTER"触发器中确定对象的NEW名称?

在Oracle中,在"AFTER ALTER"触发器中确定对象的NEW名称的方法是使用ora_dict_obj视图。ora_dict_obj视图提供了关于数据库中所有对象的信息,包括对象的新名称。

以下是一个示例,展示了如何在"AFTER ALTER"触发器中确定对象的NEW名称:

代码语言:sql
复制
CREATE OR REPLACE TRIGGER trg_after_alter
AFTER ALTER ON SCHEMA
DECLARE
  v_new_name USER_TABLES.TABLE_NAME%TYPE;
BEGIN
  SELECT TABLE_NAME
  INTO v_new_name
  FROM USER_TABLES
  WHERE TABLE_NAME = 'OLD_TABLE_NAME';

  DBMS_OUTPUT.PUT_LINE('The new name of the object is: ' || v_new_name);
END;

在这个示例中,我们首先创建了一个名为trg_after_alter的触发器,它在模式级别上的ALTER操作之后执行。然后,我们使用SELECT语句从USER_TABLES视图中查询新的对象名称,并将其存储在变量v_new_name中。最后,我们使用DBMS_OUTPUT.PUT_LINE语句输出新的对象名称。

请注意,这个示例仅适用于表对象。如果您需要确定其他类型的对象(例如视图、序列、索引等)的新名称,您需要修改查询以使用相应的USER_*视图。

推荐的腾讯云相关产品:

  • 云服务器(CVM):提供可靠的虚拟机服务,支持多种操作系统和自定义镜像。
  • 云硬盘(CBS):提供可靠的块存储服务,支持多种磁盘类型和大小。
  • 腾讯云数据库(TencentDB):提供可靠的数据库服务,支持多种数据库类型,包括MySQL、MongoDB、Redis等。
  • 腾讯云存储(COS):提供可靠的对象存储服务,支持多种存储类型和访问方式。
  • 腾讯云负载均衡(CLB):提供可靠的负载均衡服务,支持多种负载均衡算法和协议。
  • 腾讯云CDN(CDN):提供可靠的内容分发网络服务,支持多种加速类型和传输协议。

推荐的产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

下图是Oracle触发器分类图: ? 图 3-2 Oracle触发器分类 触发器(TRIGGER)组成主要有以下几部分: ① 触发事件:即在何种情况下触发TRIGGER。...例如:DML语句(INSERT、UPDATE和DELETE语句对表或视图执行数据处理操作)、DDL语句(CREATE、ALTER、DROP语句等在数据库创建、修改、删除模式对象)、数据库系统事件(系统启动或退出...l REFERENCING子句说明相关名称,在行级触发器PL/SQL块和WHEN子句中可以使用相关名称参照当前新、旧列值,默认相关名称分别为OLD和NEW。...事件SERVERERROR可以用于跟踪数据库中发生错误。其错误代码可以使用触发器内部SERVER_ERROR属性函数取出。该函数可以让用户确定堆栈错误码。...、AFTER 在执行CREATE语句创建数据库对象之前、之后触发 DROP BEFORE、AFTER 在执行DROP语句删除数据库对象之前、之后触发 ALTER BEFORE、AFTER 在执行ALTER

2K10

ORACLE触发器具体解释

8.1.3 系统触发器 ORACLE 8i 提供了第三种类型触发器叫系统触发器。它能够在ORACLE数据库系统事件中进行触发,ORACLE系统启动与关闭等。...比如:DML语句(INSERT, UPDATE, DELETE语句对表或视图运行数据处理操作)、DDL语句(CREATE、ALTER、DROP语句在数据库创建、改动、删除模式对象)、数据库系统事件(...新值new和旧值old也不能是表不论什么long和blob列。 l 不同类型触发器(DML触发器、INSTEAD OF触发器、系统触发器)语法格式和作用有较大差别。...8.2.3 创建系统事件触发器 ORACLE10G提供系统事件触发器能够在DDL或数据库系统上被触发。DDL指的是数据定义语言,CREATE 、ALTER及DROP 等。...,AFTER 在运行CREATE语句创建数据库对象之前、之后触发 DROP BEFORE,AFTER 在运行DROP语句删除数据库对象之前、之后触发 ALTER BEFORE,AFTER 在运行ALTER

1.1K30
  • PLSQL --> DML 触发器

    系统事件触发器ORACLE 数据库系统事件中进行触发,ORACLE系统启动与关闭等.使用系统触发器,便于系统跟踪,监测数据库变化情况等。...3.触发器用途 控制DDL语句行为,通过更改、创建或重命名对象 控制DML语句行为,插入、更新和删除 实施参照完整性、复杂业务规则和安全性策略 在修改视图中数据时控制和重定向DML...在行触发器PL/SQL块和WHEN 子句中可以使用相关名称参照当前新,旧列值,默认相关名称分别为OLD和NEW。...触发器PL/SQL块应用相关名称时,必须在它们之前加冒号(:),但在WHEN子句中则不能加冒号。 [FOR EACH ROW ] 定义触发器为行级触发器。...AFTER 语句级触发器 3.触发器条件谓词 ORACLE 提供三个参数INSERTING, UPDATING, DELETING 用于判断触发了哪些操作。

    1.5K30

    oracle触发器报错语法,Oracle 触发器

    大家好,又见面了,我是你们朋友全栈君。 Oracle触发器是使用者对Oracle数据库对象做特定操作时,触发一段PL/SQL程序代码,叫做触发器。...2、数据定义操作(DDL)触发器:当对数据库对象进行create、alter、drop操作时,触发触发器进行一些操作记录保存、或者限定操作。...三、DML类型触发器 Oracle DML类型触发器Oracle开发过程当中最经常用到,也是最常见触发器,主要是对DML操作,:insert、delete、update操作事件进行触发。...(oplog)。...四、DDL类型触发器 Oracle DDL类型触发器主要是对于Oracle数据库DDL操作触发触发器,主要包括create、drop、alter等DDL事件,经常利用DDL类型触发器记录DDL操作记录或者限定对某个对象进行

    2.2K30

    Oracle触发器详细讲解

    开发中肯定会用到Oracle触发器,本文进行详细讲解。...这里实例中用到主要是Oraclescott用户下emp以及dept表,数据如下 一、触发器概念 1、概念: 触发器本质是一个存储过程,顾名思义发生特定事件时Oracle会执行触发器代码。...:oracleuser和schema: user:oracle用户,拥有数据库对象以及对数据库对象增删改查权限。...schema:该用户下所有数据库对象集合Collection.类似于生活 房子schema和房子拥有者user之间关系,你是一个用户user你可以通过alter session查看别人房子,但是你是否可以改变房子家具...(3)参照完整性: Example:主要用于级联更新,更新dept表deptno时,emp表deptno也更新。 这里仍然新建2个表分别和emp表dept表数据相同。

    90120

    SQL命令 CREATE TRIGGER(一)

    触发器名称可以是限定,也可以是非限定;如果限定,则其架构名称必须与表架构名称匹配。 BEFORE event,AFTER event - 事件执行触发器时间(之前或之后)。...定义触发器其他方式 可以将SQL触发器定义为类对象触发器定义中所述。...触发器名称对于模式所有表应该是唯一。 因此,在一个模式引用不同表触发器不应该具有相同名称。 违反这种唯一性要求可能会导致DROP TRIGGER错误。...ORDER子句确定同一表具有相同时间和事件多个触发器触发器执行顺序。...(相比之下,与其他触发器相比,如果您希望在通过对象访问发生更改时使用相同逻辑,则需要实现回调,%OnDelete()。) FOR EACH STATEMENT—该触发器对整个语句触发一次。

    2K30

    oracle触发器类型

    1.3 系统触发器 ORACLE 8i 提供了第三种类型触发器叫系统触发器。它可以在ORACLE数据库系统事件中进行触发,ORACLE系统启动与关闭等。...例如:DML语句(INSERT, UPDATE, DELETE语句对表或视图执行数据处理操作)、DDL语句(CREATE、ALTER、DROP语句在数据库创建、修改、删除模式对象)、数据库系统事件(...l 触发时间:即该TRIGGER 是在触发事件发生之前(BEFORE)还是之后(AFTER)触发,也就是触发事件和该TRIGGER 操作顺序。...l 在触发器主体调用任何过程、函数,都不能使用事务控制语句。 l 在触发器主体不能申明任何Long和blob变量。...新值new和旧值old也不能向表任何long和blob列。 l 不同类型触发器(DML触发器、INSTEAD OF触发器、系统触发器)语法格式和作用有较大区别。

    56410

    oracle补充

    drop index teachername; 序列 序列是Oracle提供用于产生一系列唯一数字数据库对象。..., 当一些用户需要经常访问和查询数据表某些字段构成数据,但管理员从安全角度考虑又不希望他们直接接触数据表时,可以利用Oracle数据库提供视图这一数据对象。...:网上转帐就是用事务来处理,用以保证数据一致性。...,相当于java'=' %type 实例3会产生漏洞,当要查的人员姓名大于v_sname varchar2(3)时会报错 可以使用%type属性定义变量,这样它会按照数据库列来确定你定义变量类型和长度...■ 激活触发器 alter trigger 触发器名 enable; ■ 禁止或是激活表所有触发器 alter table emp disable all trigger; alter table

    3.1K30

    关于date格式两个案例(r4笔记第96天)

    OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN IF (INSERTING) THEN :NEW.ADD_TIMESTAMP := SYSTIMESTAMP; END...最后也是经过反复确认,准备了一堆脚本最终清理了那多余300万数据。也算是沉痛教训,所以在数据导入过程触发器作用是显而易见,有时候我们需要禁用,有时候需要启用,得看业务需要了。...触发器内容如下: CREATE OR REPLACE TRIGGER LOGINTRG AFTER LOGON ON DATABASE BEGIN EXECUTE IMMEDIATE 'ALTER...~]$ date Wed Apr 1 11:15:23 CST 2015 LANG是针对Linux系统语言、地区、字符集设置,对linux下应用程序有效,date;NLS_LANG是针对Oracle...语言、地区、字符集设置,对oracle工具有效 这个问题模拟,还是需要模拟客户端程序来做了,关于日期一些格式化设置,目前还是需要通过分析一下JDBC一些细节来看看有什么细节之处了。

    67440

    oracle数据库安全,事务机制,触发器和存储过程

    grant create view to user; revoke create view from user; with grant option表示将权限赋予用户拥有将该权限再赋予出去权限...二、Oracle事务机制 事务四大特性:原子性、一致性、隔离性、持久性,同时也是其优点,可以有效保障数据可靠性。...触发器和存储过程 触发器和存储过程在一定程度上减少了DBA工作量,可以将每次操作之后各种相关操作交由触发器和存储过程完成。...1、触发器 创建触发器一般语法为: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPDATE...as new_value for each row begin :new_value.name:='some value'; end; 查看所有的触发器 table_name此处为表名 select

    1.6K100

    MySQL 之高级命令(精简笔记)

    添加索引 在已经存在创建索引,可以使用alter table语句或者create index语句,本节将介绍如何在一个已经存在表上创建一个索引,首先先来看一下索引添加语法,SQL语句如下: alter...type:表示索弓引类型 可以看到,book表已经存在了一个索引,即前面已经定义名称为year publication索引,该索引为非唯一索引. 2.使用alter table在bookname...通过视图用户只能查询和修改他们所能见到数据,数据库其他数据则既看不见也取不到,数据库授权命令可以使每个用户对数据库检索限制到特定数据库对象上,但不能授权到数据库特定行和特定列上.通过视图,用户可以被限制在数据不同子集上...表amount值之和,触发器名称为ins_sum,条件是在向表插入数据之前触发....: 删除lyshark数据库,ins触发器,SQL如下: 1.先查询一下触发器名称,SQL语句如下: MariaDB [lyshark]> select TRIGGER_SCHEMA,TRIGGER_NAME

    1.1K10

    【DB笔试面试839】在Oracle,如何限定特定IP访问数据库?

    ♣ 问题 在Oracle,如何限定特定IP访问数据库?...♣ 答案 总体来说有3种办法可以限定特定IP访问数据库,第一种是利用登录触发器,如下: CREATE OR REPLACE TRIGGER CHK_IP_LHR AFTER LOGON ON DATABASE...: ① 触发对象类型可以为DATABASE,也可以为“用户名.SCHEMA”,AFTER LOGON ON DATABASE AFTER LOGON ON SCOTT.SCHEMA ② 当触发对象类型为...DATABASE时候,登录用户不能拥有“ADMINISTER DATABASE TRIGGER”系统权限;当触发对象类型为“用户名.SCHEMA”时候,登录用户不能拥有“ALTER ANY TIGGER...③ 隐含参数“_SYSTEM_TRIG_ENABLED”默认值是TRUE,即允许DDL和系统触发器。当设置该隐含参数为FALSE时候,将禁用DDL和系统触发器

    1.5K30

    进阶数据库系列(十):PostgreSQL 视图与触发器

    column_name:#现有列名称new_column_name:#现有列名称。 IF EXISTS:#该视图不存在时不要抛出一个错误。这种情况下会发出一个提示。...对于任何在该视图上 INSERT 或者 UPDATE 命令,一个视图列默认值会在引用该视图任何规则或触发器之前被替换进来。因此,该视图默认值将会优先于来自底层关系任何默认值。...new_owner:#该视图新拥有者用户名。 new_name:#该视图名称new_schema:#该视图新模式。...name:#要移除视图名称(可以是模式限定)。 CASCADE:#自动删除依赖于该视图对象(例如其他视图),然后删除所有依赖于那些对象对象。...pgAdmin操作 触发器使用 创建一个account表,然后创建一个触发器,用于检测表account列name插入数据是否为空。

    1K10

    PLSQL 编程(三 )程序包和包体,触发器,视图,索引

    但如果声明是局部子程序,则只能在定义该局部子程序调用该局部子程序。 它具有面向对象程序设计语言特点,是对这些PL/SQL 程序设计元素封装。...以数据更改事件为准,则分为before和after两种。 数据定义语言(DDL)触发器。当create,alter,drop模式对象是会触发相关触发器。...在oracle可以简单理解一个用户就有一个和他同名模式,利用它可以使某些表不能被修改或删除。...复合触发器Oracle11g新特性,相当于在一个触发器包含了四种触发器,包含了before类型语句级,before类型行级,after类型语句级,after类型行级。...利用它可以把对视图DML操作转换成对多个源表进行操作。 用户和系统事件触发器: 作用在数据库上游数据库事件激发触发器登录注销,利用它可以记录数据库登录情况。

    1.1K70

    常用数据库 SQL 命令详解(下)

    函数只能通过return语句返回单个值或者表对象。...四、触发器 触发器是与表有关数据库对象,在满足定义条件时触发,并执行触发器定义语句集合。...4.4、总结 触发器尽量少使用,因为不管如何,它还是很消耗资源,如果使用的话要谨慎使用,确定它是非常高效触发器是针对每一行;对增删改非常频繁表上切记不要使用触发器,因为它会非常消耗资源。...*表示,*.* username:用户名 host:可以访问域名 在给其他授权前,请先用管理员账户登录!...七、总结 本文主要围绕 Mysql 中常用语法进行一次梳理和介绍,这些语法大部分也同样适用于其他数据库,例如 oracle、sqlserver、postgres 等等,在数据操作栏,除了分页函数以外

    95220

    多种技术实现 Oracle 数据实时同步

    使用数据库触发器与自定义应用 通过数据库触发器(Trigger)功能和自定义应用程序,实现数据实时同步。 步骤: 创建触发器:在源数据库创建触发器以捕获数据变更操作(插入、更新、删除)。...触发器逻辑:在触发器定义逻辑,将捕获变更数据发送到自定义应用程序。 自定义应用程序:开发一个自定义应用程序,用于接收触发器发送变更数据,并将数据实时同步到多个异构目标数据库。..., :NEW.column1, :NEW.column2, v_operation); END; / 在上述代码,source_table是源数据库要进行数据同步表,sync_application...2)创建自定义应用程序 自定义应用程序可以使用任何编程语言来实现,Python、Java、C#等。以下是一个简单Python示例,用于接收触发器发送变更数据,并将数据实时同步到目标数据库。...步骤: 配置源数据库连接:在ETL工具配置Oracle数据库连接信息,用于抽取数据。 数据抽取:ETL工具从Oracle数据库抽取数据,并进行必要数据转换。

    3.2K30

    数据库存储过程、游标、触发器与常用内置函数

    ) (1)after insert 触发器,在插入数据之后获得@id变量以显示最新自增长ID (2)after delete 触发器,把被删除行数据保存在一个存档表 (3)before update...存储过程(Stored Procedure)是是数据库一个重要对象,是一组为了完成特定功能 SQL 语句集合,存储在数据库,经过第一次编译后调用不需要再次编译,用户通过 指定存储过程名字并给出参数...3.1 什么是触发器 (1)触发器(trigger) 是一种数据库对象,用于监控某些语句,在满足定义条件时触发, 并执行触发器定义一组语句。...ROW trigger_statement trigger_name: 触发器名称 tirgger_time: 触发时机,为BEFORE或者AFTER trigger_event: 触发事件,为...#删除触发器 DROP TRIGGER new_genre; #添加触发器 CREATE TRIGGER new_genre AFTER INSERT ON genre FOR EACH ROW SELECT

    1.4K40

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券