可以采用dml触发器,如 CREATE OR REPLACE TRIGGER tr_capt_sql BEFORE DELETE OR INSERT OR UPDATE ON manager.test DECLARE sql_text ora_name_list_t; state_sql capt$sql.sql_text%TYPE; BEGIN FOR i IN 1..ora_sql_txt(sql_text) LOOP state_sql := state_sql || sql_text(i…
#PLSQL技术培训15页PPT利用现有表创建表(百度) 说明:做新操作前要对旧表备份  具体百度 语法: create table <new_table_name> as select column_names from <old_table_name>; 例子: create table newitemfile as select * from itemfile; create table newitemfile as select itemcode,itemdesc,qty_…
--查看是否有除number,char,date,varchar2,clob/blob之外的类型,比如:NVARCHAR2,TIMESTAMP(6),FLOATSELECT DISTINCT a.DATA_TYPE FROM user_tab_cols a; --对于number类型的,还需查询是否有确定的精度,若无,根据实际情况确定精度.SELECT *  FROM user_tab_cols a WHERE a.data_type = 'NUMBER'   AND a.data_precis…
表的列名比较多的时候,手工一个个的写列名比较麻烦,这个函数可以让人偷偷懒 create or replace function f_GetCols(p_TableName in varchar2/*获取表中所有列名 前后添加select from*/)  RETURN varchar2isResult  varchar2(2000);v_cnts number;v_strTabName varchar2(200);BEGIN v_strTabName:=upper(p_tablename); s…
我们有时候在写Insert语句的时候会遇到values里面的个别列的值需要从别的表中查询获取,这时候SQL语句需要使用向表中插入多条数据的写法: INSERT INTO LoginRecordInfoes select( select Email from Users WHERE UserName='dddd'),'2017-08-03 13:47:25.977','::1','uuuuu' UNION SELECT ','test' 其中,select Email  from Users WH…
表和表空间的关系 建一个使用缺省值的表空间SQL> create tablespace a datafile '/u01/data/urpdb/a01.dbf' size 10m; 利用oracle提供的dbms_metadata.get_ddl包看看缺省值都给的是什么? SQL> set serverout on;SQL> declareaa varchar2(2000);beginselect dbms_metadata.get_ddl('TABLESPACE','A') into…
表的性能 表的性能取决于创建表之前所应用的数据库特性,数据库->表空间->表,创建数据库时确保为每个用户创建一个默认的永久表空间和临时表空间并使用本地管理,创建表空间设为本地管理并且自动段空间管理 本地管理表空间在每个数据文件中使用一个位图来管理对象扩展和空闲空间 查看数据库相关配置 SELECT * FROM DATABASE_PROPERTIES SELECT * FROM V$PARAMETER 查看表空间相关配置 select* from DBA_TABLESPACES 主要表类型 描…
本文我们主要介绍了Oracle 10g创建表空间的完整步骤,包括表空间的创建与删除.为应用创建用户以及权限的授予等操作,希望能够对您有所帮助. AD:WOT2014:用户标签系统与用户数据化运营培训专场 Oracle 10g数据库中,当在数据库中创建用户时,基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间. 那么创建表空间的步骤是怎样实现的呢?本文我们主要就介绍了这一部分内容,接下来就让我们一起来了解一下这部分内容吧. 1.创建表空间 不论是Lnux环境,还是Wndows环境,都要…
◆Oracle查询用户表空间:select * from user_all_tables ◆Oracle查询所有函数和储存过程:select * from user_source ◆Oracle查询所有用户:select * from all_users.select * from dba_users ◆Oracle查看当前用户连接:select * from v$Session ◆Oracle查看当前用户权限:select * from session_privs ◆Oracle查看用户表空间…
很多刚入门的DBA在捕获阻塞得时候,会问这么一个问题“为什么这个SELECT语句被那个SELECT语句阻塞了,难道不是共享锁么?” 让我们来做个小测试,首先准备一些测试数据: --====================================== --准备测试数据 SELECT ROW_NUMBER()OVER(ORDER BY object_id) AS RID, name AS C1 INTO TB003 FROM sys.all_columns GO CREATE UNIQUE…