
Oracle PLSQL/SQL
文章平均质量分 76
blockheading
Oracle rookie
展开
-
SYS_GUID()与sequence的比较
序列生成器sequence所生成的数字只能保证在单个实例里是唯一的,这就不适合将它用作并行或者远程环境里的主关键字,因为各自环境里的序列可能会生成相同的数字,从而导致冲突的发生。SYS_GUID会保证它创建的标识符在每个数据库里都是唯一的。此外,序列必须是DML陈述式的一部分,因此它需要一个到数据库的往返过程(否则它就不能保证其值是唯一的)。SYS_GUID源自不需要对数据库进行访问的转载 2016-11-04 21:06:13 · 577 阅读 · 0 评论 -
Oracle中Lpad函数和Rpad函数的用法
一、Lpad函数lpad函数将左边的字符串填充一些特定的字符其语法格式如下:lpad(string,n,[pad_string])string字符或者参数n字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;pad_string可选参数,这个字符串是要粘贴到string的左边,若这个参数未转载 2016-12-19 21:59:24 · 2676 阅读 · 0 评论 -
substr函数浅析
--substr函数浅析{ SUBSTR| SUBSTRB| SUBSTRC| SUBSTR2| SUBSTR4}(char, position [, substring_length ])PurposeThe SUBSTR functions return a portion of char, beginning at character position,原创 2016-12-19 22:20:01 · 490 阅读 · 0 评论 -
replace函数浅析
REPLACE(char, search_string [, replacement_string ] )REPLACE returns char with every occurrence of search_string replaced with replacement_string. If replacement_string is omitted or null, the原创 2016-12-19 22:44:58 · 286 阅读 · 0 评论 -
经典查询练手第一篇
--经典查询练手第一篇scott.emp员工表结构如下:Name Type Nullable Default Comments-------- ------------ -------- ------- --------EMPNO NUMBER(4) 员工号ENAME VARCHAR2(10) Y 员工姓名JOB VARCHAR2(9) Y 工作MGR NUMB原创 2016-12-20 23:23:59 · 389 阅读 · 0 评论 -
oracle中修改表名
answer1:ALTER TABLE old_table_name RENAME TO new_table_name;(大写为系统命令)answer2:SQL>SELECT tname FROM tab ;TNAME------------------------------TEST SQL> RENAME test TO temp ;Ta转载 2017-02-07 23:46:49 · 295 阅读 · 0 评论 -
group by分组函数之rollup与cube用法
ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。示例:一、初始化表及数据代码如下:点击(此处)折叠或打开SQL> create table group_test (group_id int转载 2017-02-18 22:18:58 · 1094 阅读 · 1 评论 -
Oracle分级查询(CONNECT BY PRIOR)
分级查询主要用于查询树形结构的记录。树形结构的数据存放在表中,数据之间的层次关系即父子关系,通过表中的列与列间的关系来描述。 树形结构示例: 查询雇员表中员工编号、姓名及员工负责人,结果如图1所示。从结果中可以发现,Hardy和Rory的负责人是John,John的负责人是Donald;Eric和Kary的负责人是Harky,Harky的负责人是Donald,最终可转载 2017-02-20 20:45:03 · 4093 阅读 · 0 评论 -
Oracle 旋转insert(insert all/first)
1.标准Insert --单表单行插入 语法: INSERT INTO table [(column1,column2,...)] VALUE (value1,value2,...) 例子: insert into dep (dep_id,dep_name) values(1,'技术部'); 备注:使用标准语法只能插入一条数据,且只能在一张转载 2017-02-20 20:50:18 · 378 阅读 · 0 评论 -
Oracle之DBMS_RANDOM 包用法详解
dbms_random是一个可以生成随机数值或者字符串的程序包。这个包有initialize()、seed()、terminate()、value()、normal()、random()、string()等几个函数,但value()是最常用的,下面依次介绍各个函数的详细用法: 1.dbms_random.value方法 第一种:FUNCTION value转载 2017-02-21 21:06:39 · 6085 阅读 · 0 评论 -
Oracle PLSQL Exception异常分类、异常抛出、异常处理、异常传播
一、摘要在PLSQL程序开发过程中,很重要的部分就是对程序异常的监控和处理,包括如何触发异常,何时进行处理,如何进行处理,是否将程式中的所有异常集中在一起,通过公共异常处理的procedure或function,如果没有完善的程式处理机制,很难说该程式是一只健壮的程式,当程式遇到很多类型或者量很多资料时,系统若没有异常处理必然会导致程式的出错当预判到了某些异常,需要对预判到的异常进转载 2017-03-03 20:59:44 · 23347 阅读 · 1 评论 -
Oracle grouping和grouping sets
--Oracle grouping和grouping sets1.groupingSCOTT@PROD1> select deptno,job,sum(sal),grouping(deptno) grp_dept,grouping(job) grp_job 2 from emp 3 group by rollup(deptno,job); DEPTNO JOB原创 2017-02-24 21:45:33 · 566 阅读 · 0 评论 -
Oracle 数组固定数组和可变数组
Oracle数组一般可以分为固定数组和可变数组 固定数组declare type v_ar is varray(10) of varchar2(30); my_ar v_ar:=v_ar('g','m','d','龚','帅'); begin for i in 1..my_ar.count loop db转载 2017-02-25 21:19:39 · 5303 阅读 · 0 评论 -
经典查询练手第五篇
--经典查询练手第五篇HR@PROD2> desc EMPLOYEES Name Null? Type ----------------------------------------------------- -------- ------------------------------------ EMPLOYEE_ID NOT原创 2016-12-25 20:17:27 · 432 阅读 · 0 评论 -
经典查询练手第四篇
HR@PROD2> desc EMPLOYEES Name Null? Type ----------------------------------------------------- -------- ------------------------------------ EMPLOYEE_ID NOT NULL NUMBER(6) F原创 2016-12-25 20:15:22 · 445 阅读 · 0 评论 -
通过查询表定义(DBMS_METADATA)来查看建表的更多选项
EODA@PROD1> create table t (a int primary key, b date, c clob);Table created.EODA@PROD1> select dbms_metadata.get_ddl( 'TABLE', 'T') from dual; --dbms_metadata.get_ddlDBMS_METADATA.GET_DDL('TA原创 2016-10-24 22:35:37 · 565 阅读 · 0 评论 -
dump函数以及数字类型浅析
--dump函数DUMP(expr[, return_fmt [, start_position [, length ] ] ])DUMP returns a VARCHAR2 value containing the data type code, length in bytes, and internal representation of expr. The returned resu原创 2016-10-08 19:53:21 · 691 阅读 · 0 评论 -
bulk collect记录
--bulk collect--SELECT INTO Statement with BULK COLLECT Clause--FETCH Statement with BULK COLLECT Clause--RETURNING INTO Clause with BULK COLLECT ClauseBULK COLLECT可以让PL/SQL引擎把多个上下文却换压缩成一个,这使得在P转载 2016-10-26 22:38:15 · 309 阅读 · 0 评论 -
ADD_MONTHS和numtodsinterval浅析
--ADD_MONTHS和numtodsinterval--使用ADD_MONTH内置函数来增加月和年--使用numtodsinterval内置函数来增加小时、分钟和秒--加一个简单的数字增加天--简单实验实例EODA@PROD1> set echo onEODA@PROD1> alter session set nls_date_format = 'dd-mon-yyyy hh24原创 2016-11-07 20:08:14 · 839 阅读 · 0 评论 -
extract函数浅析
--extract函数EXTRACT( { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND | TIMEZONE_HOUR | TIMEZONE_MINUTE | TIMEZONE_REGION原创 2016-11-07 20:35:19 · 3005 阅读 · 0 评论 -
通过dbms_stats.set_table_stats手动设置临时表统计信息
--通过dbms_stats.set_table_stats手动设置临时表统计信息EODA@PROD1> create global temporary table t ( x int, y varchar2(100) ) 2 on commit preserve rows; --创建基于事务的临时表Table created.EODA@PROD1> EODA@PROD1>原创 2016-10-27 21:53:12 · 3103 阅读 · 0 评论 -
RATIO_TO_REPORT使用方法
--RATIO_TO_REPORTRATIO_TO_REPORT(expr) OVER ([ query_partition_clause ])RATIO_TO_REPORT is an analytic function. It computes the ratio of a value to the sum of a set of values. If expr evaluates原创 2016-10-31 23:02:08 · 664 阅读 · 0 评论 -
sys_context()函数用法解析
--sys_contextSYS_CONTEXT('namespace', 'parameter' [, length ])SYS_CONTEXT returns the value of parameter associated with the context namespace at the current instant. You can use this func原创 2016-12-02 16:23:43 · 1800 阅读 · 0 评论 -
utl_file包使用浅析
With the UTL_FILE package, PL/SQL programs can read and write operating system text files. UTL_FILE provides a restricted version of operating system stream file I/O.SYS@PROD1> desc utl_filePR原创 2016-12-05 20:57:27 · 501 阅读 · 0 评论 -
INSTR函数浅析
--INSTR函数{ INSTR| INSTRB| INSTRC| INSTR2| INSTR4}(string , substring [, position [, occurrence ] ])The INSTR functions search string for substring. The search operation is defined as compa原创 2016-11-26 22:38:09 · 1085 阅读 · 0 评论 -
经典查询练手第二篇
--经典查询练手第二篇SQL> DESC SCOTT.EMP;Name Type Nullable Default Comments-------- ------------ -------- ------- --------EMPNO NUMBER(4) 员工编号ENAME VARCHAR2(10) Y 员工姓名JOB VARCHAR2(9) Y 职位MGR NUMBER(4)原创 2016-12-22 17:08:26 · 387 阅读 · 0 评论 -
经典查询练手第三篇
--经典查询练手第三篇HR@PROD2> desc EMPLOYEES Name Null? Type ----------------------------------------------------- -------- ------------------------------------ EMPLOYEE_ID NOT NU原创 2016-12-23 19:48:44 · 554 阅读 · 0 评论 -
bitand函数
--bitand函数--语法BITAND(expr1, expr2)--用法:位与The BITAND function treats its inputs and its output as vectors of bits; the output is the bitwise AND of the inputs.SYS@PROD3> select bitand(4,4) from原创 2017-04-03 19:44:27 · 1121 阅读 · 0 评论