ORACLE查出表所有的触发器及触发器详细信息 一.查all_triggers表得到trigger_name Sql代码 select trigger_name from all_triggers where table_name='XXX'; 二.根据trigger_name查询出触发器详细信息 Sql代码 select text from all_source where type='TRIGGER' AND name='TR_XXX';…
create table SC ( Id INTEGER, Name nvarchar2(20) , KC_Name nvarchar2(20), KC_score INTEGER , constraint SC_pk primary key (Id) ); create sequence SC_seq minvalue 1 maxvalue 99999999    increment by 1    start with 1; create or replace trigger SC_tri…
原文:ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之八: 把触发器说透 大家一定要评论呀,感谢!光发表就花了我将近一个下午. 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2.3 创建替代(INSTEAD OF)触发器 8.2.3 创建系统事件触发器 8.2.4 系统触发器事件属性 8.2.5 使用触发器谓词 8…
使用触发器记录DML,使用触发器记录表的DML 数据库级别DML操作监控审计.表触发器/对象触发器 --创建记录表 CREATE TABLE T_SHALL_LOG ( ID , ) , EVTIME DATETIME NOT NULL DEFAULT(GETDATE()) , --访问时间 SQL ) , --执行的SQL语句 USERID ) NOT NULL DEFAULT(SUSER_SNAME()) , --连接的时候使用的哪个SQL登陆用户 HOSTNAME ) NOT NULL D…
Oracle新表使用序列(sequence)作为插入值,初始值不是第一个,oraclesequence 使用oracle11g插入数据时遇到这样一个问题: 1 --创建测试表-- 2 CREATE TABLE tbl_test( 3 test_id NUMBER PRIMARY KEY, 4 test_name VARCHAR2(20) 5 ); 6 7 --为tbl_test创建序列-- 8 CREATE SEQUENCE seq_test 9 INCREMENT BY 1 -- 每次加几个…
oracle查询用户下的所有表 select * from all_tab_comments -- 查询所有用户的表,视图等select * from user_tab_comments -- 查询本用户的表,视图等select * from all_col_comments --查询所有用户的表的列名和注释.select * from user_col_comments -- 查询本用户的表的列名和注释select * from all_tab_columns --查询所有用户的表的列名等信息…
总结一下Oracle数据库表级别的复制同步 一.通过触发器进行表的复制 原理,是监听表上都某一字段进行的DML操作,然后得到DML操作的数据,重新在另一个表上执行DML操作. 优点: 简单,编写一个触发器就可以,不需要过多的配置. 易修改,遇到了问题很好定位. 缺点:表大的话是有性能问题,如果表中含有blob列,是无法监听到其改变的,而且整个insert 必须先insert 一个空的blob,再进行update操作,而且很有可能出现数据不为空,blob为空的情况. 二.通过Stream进行表同步…
Oracle查找表的外键引用关系 select t1.table_name, t2.table_name as "TABLE_NAME(R)", t1.constraint_name, t1.r_constraint_name as "CONSTRAINT_NAME(R)", a1.column_name, a2.column_name as "COLUMN_NAME(R)" from user_constraints t1, user_cons…
1.不同用户之间的表数据复制 2.同用户表之间的数据复制 3.B.x中个别字段转移到B.y的相同字段 4.只复制表结构 加入了一个永远不可能成立的条件1=2,则此时表示的是只复制表结构,但是不复制表内容 5.完全复制表(包括创建表和复制表中的记录) 6.将多个表数据插入一个表中 7.创建用户budget_zlgc,权限和budget相同,(A.只复制所有表结构B.复制所有表所有信息) 1.不同用户之间的表数据复制 对于在一个数据库上的两个用户A和B,假如需要把A下表old的数据复制到B下的new…
1.新建table CREATE TABLE ysb_log( id ) primary key not null , tbdate ) NULL, tb_time ) NOT NULL, tblog ) NOT NULL, tbreor ) null, bs ) NOT NULL ); 在Oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方 2. 创建自增的序列号 create sequence S_ysb_log minvalue maxv…
文献地址: https://blog.csdn.net/jmilk/article/details/51599260 https://www.cnblogs.com/roger112/p/7685307.html https://www.cnblogs.com/summary-2017/p/7866005.html https://www.cnblogs.com/kevinanni/p/3688921.html https://www.cnblogs.com/roger112/p/7685307…
Oracle 语句中“||”代表什么啊? oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号? 排序的话,用order by来处理即可.比如:cola123a234b999b335select * from tablename order by col; 结果就是 cola123a234b335b999 如果按倒序排列:select * from tablename order by col desc; 结果就是 colb999b335a234a123       其他回答 先…
关键词:数据库触发器/服务器触发器  ,数据库级别DDL操作监控审计,禁止修改登录名密码 [1]数据库级别DDL操作监控审计 转自2012示例库,只能数据库级别,不能实例级别 use databasego SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create table databaseLog( [PostTime] datetime, [DatabaseUser] varchar(500), [Event] varchar(500),…
下面全面是对Oracle系统表的一些介绍: 数据字典dict总是属于Oracle用户sys的. 1.用户: select username from dba_users; 改口令 alter user spgroup identified by spgtest; 2.表空间: select * from dba_data_files; select * from dba_tablespaces;//表空间 select tablespace_name,sum(bytes), sum(blocks…
      每一个Oracle数据库都是由三种类型的文件组成:数据文件(Data File).日志文件(Log File)和控制文件(Control File).数据库的文件为数据库信息提供真正的物理存储.      每个数据库有一个或多个物理的数据文件.逻辑数据库结构(如表.索引等)的数据物理地存储在数据库的数据文件中,数据文件通常为*.dbf格式. 数据文件有下列特征: 1.一个数据文件仅与一个数据库联系: 2.一旦建立,数据文件只增不减: 3.一个表空间(数据库存储的逻辑单位)由一个或多个…
oracle 建表 主键自增序列 (2011-10-12 11:59:22) 转载▼ 标签: 杂谈 分类: oracle SQL> create table sms_activity(  2  id number,  3  activity_name varchar2(50),  4  begin_time varchar2(30),  5  end_time varchar2(30),  6  content varchar2(600)  7  ); 表已创建. SQL> commit; 提…
1.不同用户之间的表数据复制 对于在一个数据库上的两个用户A和B,假如需要把A下表old的数据复制到B下的new,请使用权限足够的用户登入sqlplus:insert into B.new(select * from A.old); 如果需要加条件限制,比如复制当天的A.old数据insert into B.new(select * from A.old where date=GMT); 蓝色斜线处为选择条件 2.同用户表之间的数据复制 用户B下有两个表:B.x和B.y,如果需要从表x转移数据到…
Oracle 实现表中id字段自增长 最近正在学习Oracle的时候发现Oracle表中的字段不能像mysql中那样可以用auto increment修饰字段从而让id这种主键字段实现自增长. 那Oracle中是怎么实现字段自增长呢? 1. 首先创建一个表 -- 1. 餐桌表 CREATE or replace TABLE dinnerTable( id number PRIMARY KEY , -- 餐桌主键 tableName ), -- 餐桌名 tableStatus , -- 餐桌状态:…
某一张表被应用软件里误操作把数据都清空了,现在想恢复到清空之间,比如2013年8月13日14点以前,应该怎样操作? 通过这个问题可以引发一系列的知识点串联. 1.如果开启闪回可以使用闪回表. 怎样查看我的数据库有没有开启flashback flashback database要求数据库必须处于归档模式,且闪回之后必须使用resetlogs打开数据库 查看数据库的归档模式及闪回是否启用 SQL> select log_mode,open_mode,flashback_on from v$datab…
文章为作者原创,未经许可,禁止转载.    -Sun Yat-sen University 冯兴伟 实验4 触发器 )实验目的 掌握数据库触发器的设计和使用方法 )实验内容和要求 定义BEFORE触发器和AFTER触发器.能够理解不同类型触发器的作用和执行原理,验证触发器的有效性. )实验重点和难点 实验重点:触发器的定义. 实验难点:利用触发器实现较为复杂的用户自定义完整性. 此次实验还是延用理论课本中出现的大学数据库作为实验例子. (1).    AFTER触发器 i.  在takes表上定…
Oracle的表锁死以及解锁 oracle 查看锁死的表,锁死的进程. select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.…
oracle执行表数据更新的时候,会遇到锁表问题,比方说,会遇到这样的问题,主要原因是这张表被其他人占用,修改数据没有提交.oracle为了避免脏数据的产生,在其安全机制下,锁住该表. 执行如下操作,select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid ; 可以查出,占用该表的用户,以及进程和时间等,查出该表被锁的相关信息…
一. 概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空间分类:系统表空间(system.sysaux),非系统表空间 一个表空间至少包含一个数据文件,一个数据文件只能属于一个表空间. 不可或缺的几个表空间: SYSTEM --->字典表空间,不能被损坏 UNDO    --->dml,dql把数据快照到此,数据提交即消失(用于恢复) SYSAUX  …
在进行批量对DML操作时程序竟然中断了,不再往下执行.查询一下某张表被锁住了,因此不再往下执行了 如果怀疑表被锁了,或者事务未被正常关闭,在Oracle数据库中我们可以通过以下语句进行查询获取相关信息: select t2.username,       t2.sid,       t2.serial#,       t3.object_name,       t2.OSUSER,       t2.MACHINE,       t2.PROGRAM,       t2.LOGON_TIME, …
优化器在形成执行计划时需要做的一个重要选择——如何从数据库查询出需要的数据.对于SQL语句存取的任何表中的任何行,可能存在许多存取路径(存取方法),通过它们可以定位和查询出需要的数据.优化器选择其中自认为是最优化的路径. 在物理层,Oracle读取数据,一次读取的最小单位为数据库块(由多个连续的操作系统块组成),一次读取的最大值由操作系统一次I/O的最大值与multiblock参数共同决定,所以即使只需要一行数据,也是将该行所在的数据库块读入内存.逻辑上,Oracle用如下存取方法访问数据: O…
1:重要参考 wiki 2: oracle doc 表空间参考 3:来自dba-oracle的参考 26,27,28,29 一:oracle 表空间概念 表空间是联系数据库的物理磁盘(数据文件)和逻辑组件的桥梁,表空间是用来存储oralce数据库对象例如:tables.indexes和 rollback segments.可以想象oracle物理磁盘和逻辑磁盘之间的关系,表空间的概念和这个一样. PS: 数据文件 就相当于一个省的的范围(这个是实实在在存在的),而 表空间相当于在省上建立的管理机…
一.锁表的处理 Oracle锁表比较简单,查询锁表的session杀掉就可以了. 1.以下几个为相关表 SELECT * FROM V$LOCK; SELECT * FROM V$SQLAREA; SELECT * FROM V$SESSION; SELECT * FROM V$PROCESS; SELECT * FROM V$LOCKED_OBJECT; SELECT * FROM ALL_OBJECTS; SELECT * FROM V$SESSION_WAIT; 2.查看被锁的表 SELE…
数据库操作语句的分类 DDL:数据库模式定义语言,关键字:create DML:数据操纵语言,关键字:Insert.delete.update DCL:数据库控制语言 ,关键字:grant.remove DQL:数据库查询语言,关键字:select oracle表在什么情况下会被锁住 DML锁又可以分为,行锁.表锁.死锁 行锁:当事务执行数据库插入.更新.删除操作时,该事务自动获得操作表中操作行的排它锁. 表级锁:当事务获得行锁后,此事务也将自动获得该行的表锁(共享锁),以防止其它事务进行DDL…
ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 复制代码代码如下: --锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s…
  oracle 两表关联查询 CreationTime--2018年7月4日17点27分 Author:Marydon 情景描述 查询学生表student,sname,sex,age信息及所在班级clazz表 1.使用左连接 select sname, sex, age, cname from student t1 left join clazz t2 on t1.cid = t2.cid; 2.使用(+),oracle独有 select sname, sex, age, cname from…