Oracle层次化查询
P { margin-bottom: 0.21cm; }Oracle层次化查询(1) 树状模型假如有一个市场模型,其中一级市场是中国,二级市场是省份,三级市场是各个省下面的市,四级市场是各个市下面的县。那么可以创建表market:createtable market(market_id number(2), market_name varchar2(10),parent_market_id number(...
Oracle查询库中记录数大于2千万的所有表
查询库中记录数大于2千万的所有表假如当前用户拥有select any table权限,则可以使用下列sql语句:select table_name, num_rows from dba_tables t where t.owner = upper('hr') and num_rows > 20000000;或select table_name, num_rows from all_tables t where t.owner = upper('hr') and num_rows > 20000000;...
Oracle查询用户权限
Oracle查询用户权限查看用户系统权限:select * from dba_sys_privs;select * from session_privs;select * from user_sys_privs;查看用户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;
Oracle查看表空间大小和使用率
Oracle查看表空间1. 全部表空间的大小SQL> select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;TABLESPACE_NAME SUM(BYTES)/1024/1024-------------------- --------------------UNDOTBS1 &...
Oracle查询分区表的最后一个分区值
Oracle查询分区表的最后一个分区值这是一个来自生产上的需求:数据库中的分区表(几十上百个)都是根据年份来分区的并且分区名称和分区年份一一对应(比如p2011对应'2011'),客户要求检查分区表的分区是否已经过时。比如现在是2014年,若一个表的最大分区时间为2013年或2012年,则该表的分区已过时,需要考虑增加分区...
Oracle创建和使用序列
Oracle创建和使用序列1 语法create sequence 序列名称 2 创建序列SQL> create sequence emp_seq;Sequence created.序列是一个数据库对象,因此可以在数据字典中获得其信息。与序列相关的视图为user_objects和user_sequences。SQL> col object_name format a15;SQL> col object_type format a15;SQL> col s...
Oracle使用cursor for隐式游标
Oracle使用cursor for隐式游标除了sql游标之外,Oracle还提供了另一种隐式游标:cursor for游标。这一类游标用于循环。(1)语法for 游标变量 in (select语句) loop DML操作end loop;(2)使用方法需求:查出emp表中部门编号为10的所有员工的员工编号和员工姓名。程序:begin for ...
Oracle临时表
Oracle临时表Oracle临时表有3种:事务级临时表、会话级临时表和虚拟临时表(一)事务临时表事务临时表的生存周期为一个事务,当用commit提交或用rollback会滚后,事务结束,表被清空,但表的结构还在。实验:SQL> create global temporary table tmp_dept on commit delete rows as select * from dept where 1 ...
Ubuntu12.04(32位)安装Oracle 11g(32位)全过程
Ubuntu12.04(32位)安装Oracle 11g(32位)全过程1.将系统更新到最新:sudo apt-get updatesudo apt-get dist-upgrade2.安装Oracle所需的依赖包:sudo apt-get install automakesudo apt-get install autotools-devsudo apt-get install binutilssudo apt-get install bzip2sudo apt-get install elfutilss...
Oracle程序包
Oracle程序包 程序包用于将逻辑相关的PL/SQL块或元素(变量、常量、过程、函数等)组织在一起,作为一个完整的单元存储在数据库中,用包名称来标识程序包。程序包类似于面向对象中的类。 程序包由两部分构成:规范(specification)和主体(body)。程序包规范就是包说明,对包...
Oracle带输入输出参数的存储过程
Oracle带输入输出参数的存储过程(一)使用输入参数需求:在emp_copy中添加一条记录,empno为已有empno的最大值+1,ename不能为空且长度必须大于0,deptno为60。创建存储过程:create or replace procedure insert_emp(emp_name in varchar2, dept_no in number) as begin declare max_empno number; ...
Oracle创建存储过程
Oracle创建存储过程函数更倾向于处理数据运算,并最终返回处理结果。而存储过程更倾向于数据库操作,并不返回值。语法:create or replace procedure 存储过程名称 as begin存储过程定义end 存储过程名称;(1) 创建存储过程对于表emp,如果需要获得有关该表的信息,如表中所有员工的姓名,应该使用自定义函数...
Oracle行转列函数
Oracle行转列函数1 需求在实际开发中,行转列函数可以把列值以逗号分隔起来,并显示成一行。现要求利用一条sql语句获得表emp中所有员工姓名,且要求在前台页面中作为一个字符串出现,在这个字符串中员工之间的姓名用逗号分隔开。2 程序create or replace function row2col(sqlString varchar2) return varchar2 as...
Oracle动态游标
Oracle动态游标(一)强类型动态游标1 定义强类型动态游标是指,在游标使用之前,虽未指定游标的查询定义,但是游标的类型已经确定。2 语法type 游标类型 is ref cursor return 记录类型3 应用场景、用户想在表dept中查看Beijing这一城市的具体信息。如果表中没有Beijing的记录信息,则用户希望能够查看所有城...
Oracle使用行类型变量获取游标信息
Oracle使用行类型变量获取游标信息(1) 表数据SQL> select * from scott.dept; DEPTNO DNAME LOC---------- ---------- ---------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALE...
Oracle使用普通变量获取游标信息
Oracle使用普通变量获取游标信息(1) 表数据SQL> select * from scott.dept; DEPTNO DNAME LOC---------- ---------- ---------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES&nbs...
Oracle函数的确定性
Oracle函数的确定性(1) 概念函数的确定性就是输入相同的一个参数,返回的结果总是相同的。函数的确定性,在于可以根据函数名和参数来缓存执行结果。Oracle在第二次输入该参数时,会直接拿第一次的结果,不再重复执行该函数,从而提高效率。(2) 应用场景对于scott用户emp表中的员工薪资,如果薪资高于或等于2000,返...
Oracle带参数的自定义函数
Oracle带参数的自定义函数(1) 函数编写create or replace function getRecordCount(table_name varchar2) return number as begin declare t_count number; query_sql varchar2(200); begin ...
Oracle中自定义函数
Oracle中自定义函数(1) 打开环境变量serveroutput或serveroutSQL>setserveroutput on或者SQL>setserverout on这样做的目的是为了可以在sqlplus中看到输出结果(2) 编写函数SQL>createor replace function getEmCount return number asbegindeclareem_count ...
Sqlplus设置列宽
Sqlplus设置列宽1 设置number类型列的宽度SQL>select * from dept; DEPTNODNAMELOC ---------------------- ---------- 10 ACCOUNTING NEW YORK 20 RESEARCHDALLAS 30 SALESCHICAGO 40 OPERATIONS BOSTON SQL>col deptno format 99999 SQL>select...