
Oralce数据库
个人知识管理布道师
这个作者很懒,什么都没留下…
展开
-
ORA-08002: sequence CURRVAL is not yet defined in this session
http://nimishgarg.blogspot.hk/2014/07/ora-08002-sequence-stringcurrval-is-not.html (需翻墙)转载 2017-01-18 13:25:35 · 969 阅读 · 0 评论 -
Oracle SQL语句优化技巧
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select转载 2016-06-05 21:41:51 · 373 阅读 · 0 评论 -
Oracle的存储过程编程总结
参考http://kiral.iteye.com/blog/1129908转载 2016-05-23 22:43:26 · 402 阅读 · 0 评论 -
oralce group by 语句用法示例
删除姓名、年龄重复的记录(只保留Id最大的一条)Id name age salary1 yzk 80 10002 yzk 80 20003 tom 20 200004 tom 20 200005 im 20 20000select * from employee where id i原创 2016-05-23 22:21:34 · 386 阅读 · 0 评论 -
oralce横表转纵表示例
横表结构ID 姓名 语文 数学 英语1 张三 80 90 702 李四 90 85 953 王五 88 75 90转换后的表结构:ID 姓名 科目 成原创 2016-05-23 21:19:15 · 791 阅读 · 0 评论 -
pl/sql cursor within a cursor 例子
--cursor within a cursorCREATE OR REPLACE PROCEDURE MULTIPLE_CURSORS_PROC is v_owner varchar2(40); v_table_name varchar2(40); v_column_name varchar2(100); /* First cursor */原创 2016-05-23 00:45:03 · 371 阅读 · 0 评论 -
SQL面试题--行列转换
select year,sum(case quarte when 1 then salnum end) "一季度",sum(case quarte when 2 then salnum end) "二季度",sum(case quarte when 3 then salnum end) "三季度",sum(case quarte wh原创 2016-05-22 22:55:15 · 648 阅读 · 0 评论 -
oralce case when 语句
--oralce case when,分开统计男女生人数select grade,count(case when sex=1 then 1 --else nullend) "男生数",count(case when sex = 2 then 1 --else nullend) "女生数" from student group by g原创 2016-05-22 22:03:44 · 281 阅读 · 0 评论 -
oralce复制行的小技巧
--oralce复制行的小技巧--新纪录与老记录仅有某一两个字段值不一样(此案例为deptno,empno),其他字段完全一样declarecursor emp_cursor is select * from emp where deptno=10;--关联游标与select语句v_max_empno emp.empno%type;v_sql varchar2(200):='s原创 2016-05-22 20:40:15 · 394 阅读 · 0 评论 -
oralce中视图与表的区别
oralce中视图与表的区别1 表需要占用磁盘空间,视图不需要2 视图不能添加索引,导致查询速度比表慢3 使用视图可以简化复杂查询4 视图有利于提高安全性(比如不同用户查看不同视图)原创 2016-05-22 17:58:39 · 1969 阅读 · 0 评论 -
pl/sql 分页存储过程
--1创建一个包,在该包中,定义类型my_cursor,是个游标。create or replace package my_package astype my_cursor is ref cursor;end my_package;--2编写分页存储过程/* 参数说明: table_name in 表名 page_size in 每原创 2016-05-22 01:46:41 · 665 阅读 · 0 评论 -
Oracle如何实现类似MySQL的show create table,show index的功能
参考链接:https://blogs.oracle.com/mandalika/entry/oracle_extracing_the_table_index原创 2016-06-15 11:38:25 · 9022 阅读 · 0 评论 -
记Oralce调优企业培训
来现在的公司已经8个月了,时间好快,转眼又是一年到头了,参加了2次公司组织的企业培训,第一次培训内容的关于书写安全的java代码,这个话题对我还是很有吸引力的,平常工作大多都是码业务代码,很少去关心所写的代码是否会有安全漏洞,从这次培训之中最重要的收获就是:给人一种新的认识,平常哪些你认为理所当然的java代码原来都是有很多潜在安全问题的,涨姿势了,这次参加的是Oracle性能调优,讲课的老师绝对原创 2016-12-26 11:43:31 · 341 阅读 · 0 评论 -
oracle中查询的数据按汉语拼音首字母排序
http://jingyan.baidu.com/album/925f8cb8fbc42dc0dce0566c.html?picindex=3https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams155.htm转载 2016-10-31 17:47:22 · 2448 阅读 · 2 评论 -
ORA-30683: failure establishing connection to debugger
原创 2016-08-24 18:36:51 · 2685 阅读 · 0 评论 -
SQL Developer工具如何转译&(input parameter)符号
SQL Developer工具如何转译&(input parameter)符号原创 2016-07-18 21:12:01 · 1431 阅读 · 0 评论 -
oracle动态sql的简单使用
说明:4,5处为动态sql的使用案例,再次特别交代一下,在使用中遇到的一个的问题,我们知道在oralce字符串都用单引号引起来,例如select * from student where name='张三';而在动态sql中,要实现同样的功能,却需要前后各2个''(图1,2,3中处),很奇怪,如有小伙伴知道只是什么原因,麻烦告知下参考资料https://docs.oracle.com/原创 2016-07-12 01:40:10 · 612 阅读 · 0 评论 -
Debugging PL-SQL calls from Java Session Using Eclipse and SQL Developer
参考链接https://blogs.oracle.com/shay/entry/debugging_java_and_plsql_toget原创 2016-07-14 01:44:13 · 908 阅读 · 2 评论 -
使用 Oracle SQL Developer 开发和调试 PL/SQL
参考链接:http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/229076_zhs.htm转载 2016-07-13 17:09:49 · 1868 阅读 · 0 评论 -
hibernate调用oracle存储过程案列
create or replace procedure province_test(pro_name in varchar,pro_count out int) isbegin select count(id) into pro_count from s_city where pid=(select id from s_province where name=pro_name);end原创 2016-07-11 22:46:08 · 1504 阅读 · 0 评论 -
解决使用JDBC操纵Oralce时相关问题的参考资料
解决JDBC操纵Oralce时相关问题时,有哪些好的参考资料了?Oralce提供了一份官方文档,>.链接:https://docs.oracle.com/cd/B28359_01/java.111/b31224/toc.htmhttps://docs.oracle.com/cd/B28359_01/nav/portal_booklist.htm(oralce database数据库文档原创 2016-07-13 02:15:57 · 347 阅读 · 0 评论 -
Oralce视图案列
1 显示雇员的名字与他所属的部门名称,只用一张表2 假设管理员创建了一个用户小红,现在希望小红只能查询sal--视图案列create or replace view part_emp_info asselect emp.ename,dept.dname from emp join dept on (emp.deptno=dept.deptno)where emp.s原创 2016-05-22 17:52:05 · 304 阅读 · 0 评论 -
pl/sql自定义异常
--pl/sql自定义异常create or replace procedure update_sal(emp_no_in in emp.empno%type)is--定义一个异常myex exception;begin update emp set sal = sal +1000 where empno=emp_no_in; --sql%notfound表示没原创 2016-05-22 17:23:37 · 520 阅读 · 0 评论 -
pl/sql触发器案列
--pl/sql触发器--对表emp2进行insert,delete,update操作的具体信息进行记录create table emp2_log(uname varchar2(20),--操作人action varchar2(10),--操作类型atime date --时间);--定义触发器create or replace trigger trig -原创 2016-05-31 01:41:19 · 351 阅读 · 0 评论 -
pl/sql带参数的游标和可更新的游标案列
--pl/sql带参数的游标案列declarecursor c(v_deptno dept.deptno%type,v_job emp.job%type) is select ename,sal from emp where deptno=v_deptno and job = v_job;begin for v_emp in c(30,'SALESMAN') loop--给游标传递参数原创 2016-05-31 00:35:59 · 973 阅读 · 0 评论 -
PL/SQL的Boolean的三个值:TRUE,FALSE,NULL两两进行AND,OR操作的值
--让我们来看一下,在什么情况下会出现NULL值?declare type t_arr is array(3) of boolean;--声明boolean数组 b_array t_arr:=t_arr(true,false,null);--数组初始化 b_flag boolean;--运算结果值 v_str varchar2(100);--拼串结果 --函数,将原创 2016-05-30 00:29:04 · 3151 阅读 · 0 评论 -
PL/SQL Boolean类型
注意:Oralce SQL中没有Boolean这种数据类型,Boolean只是在PL/SQL中存在.注意:在PL/SQL中,Boolean类型的变量可以取值TRUE,FALSE,NULL.参考链接:http://www.orafaq.com/wiki/Booleanhttps://docs.oracle.com/cloud/latest/db112/LNPLS/datatype原创 2016-05-29 22:45:59 · 3898 阅读 · 0 评论 -
视图的优点与缺点总结
参考链接http://wl-ldy.iteye.com/blog/944898转载 2016-05-28 22:26:51 · 17360 阅读 · 0 评论 -
oracle 数据库索引的优缺点以及合理建立索引
参考链接http://blog.itpub.net/14401924/viewspace-659821/转载 2016-05-28 21:21:20 · 3034 阅读 · 0 评论 -
Oralce decode函数用法示例
1 create table sale (month char(6),--月份sell number(10,2)--月销售额); 2 create or replace view v_sale asselectsubstr(month,1,4) as "年",sum(decode(substrb(month,5,2),'01',sell,0)) as "01"原创 2016-05-28 14:30:24 · 2710 阅读 · 0 评论 -
Oracle空串与null的处理
1 Oracle中的空字符串基本上是被当成空NULL来处理的2 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前总结:null值是不可以用来做比较的,无论什么值和null作比较都会返回一个false值,所以当记录中有null值,要处理的话,要用is null来处理。参考链接http://jingy原创 2016-05-28 14:14:50 · 2197 阅读 · 0 评论 -
利用pl/sql块解决复杂sql查询
Ss (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄Cc (C#,CN ) C#,CN 分别代表课程编号、课程名称SCsc ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩1 列出既学过“1”号课程,又学过“2”号课程的学生且“1”号课成绩比“2”号成绩高的学生学号Select SC1.Si原创 2016-05-27 00:04:29 · 717 阅读 · 0 评论 -
sql面试题 学生表, 课程表,成绩表,教师表
Student(Sid,Sname,Sage,Ssex) 学生表Course(Cid,Cname,Tid) 课程表SC(Sid,Cid,score) 成绩表Teacher(Tid,Tname) 教师表 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select sid,score from sc where cid='001'; selec原创 2016-05-24 23:06:05 · 20468 阅读 · 4 评论 -
pl/sql存储过程的递归调用,树形数据的展示
--pl/sql的树状结构的存储与展示drop table article;create table article( id number primary key, --id cont varchar2(4000), pid number, --父id isleaf number(1), --0代表非叶子节点,1代表叶子节点 alevle num原创 2016-06-01 00:46:03 · 2933 阅读 · 2 评论 -
Oralce 函数例子
create or replace function income_level(name_in in varchar2)--函数返回值类型return varchar2 is --变量声明 monthly_sal number(7, 2); --每月薪水 v_level varchar2(20); --函数返回值,薪水级别 cursor c1 is sele原创 2016-05-19 23:48:39 · 438 阅读 · 0 评论 -
--pl/sql包,游标,存储过程,块
--1创建一个包,在该包中,定义类型my_cursor,是个游标。create or replace package my_package astype my_cursor is ref cursor;end my_package;--2创建存储过程create or replace procedure query_emp(deptno_in in emp.deptn原创 2016-05-21 23:40:50 · 668 阅读 · 0 评论 -
pl/sql goto语句
--pl/sql goto语句declarei int:=1;begin loop dbms_output.put_line('输出i='||i); if i = 10 then goto end_loop; else i:=i+1; end if; end loop; > dbms_outpu原创 2016-05-21 21:52:14 · 541 阅读 · 0 评论 -
pl/sal for循环
--pl/sal for循环declarebegin for i in 21..30 loop insert into users values(i,'abc'); end loop;end;原创 2016-05-21 21:39:42 · 454 阅读 · 0 评论 -
pl/sql while循环
--pl/sql while循环create or replace procedure add_users(name_in in varchar2) is--定义,:=表示赋值v_num number:=11;begin while v_num insert into users values(v_num,name_in); --判断是否要退出循环原创 2016-05-21 21:33:00 · 308 阅读 · 0 评论 -
pl/sql loop循环
--pl/sql loop循环create or replace procedure add_users(name_in in varchar2) is--定义,:=表示赋值v_num number:=1;begin loop--(类似do....while) insert into users values(v_num,name_in); --判断是否要原创 2016-05-21 21:15:08 · 931 阅读 · 0 评论