ORACLE学习笔记
yangxiaojun9238
热心,富有同情心,喜欢小动物,曾经养过小松鼠,小兔子,猫头鹰
展开
-
第5章 多表查询
等值连接SELECT employees.employee_id, employees.last_name, employees.department_id, departments.department_id, departments.location_id FROM employees, departmentsWHERE employees.原创 2012-03-01 10:16:58 · 455 阅读 · 0 评论 -
oracle将一个表的多个字段更新到另一张表里面
update tbl1 a set (a.col1, a.col2) = (select b.col1, b.col2 from tbl2 b where a.key = b.key)原创 2012-08-25 11:09:13 · 6459 阅读 · 0 评论 -
oracle 一张表复制到另一张表以及已经复制的表之间的批量更新
模拟两张表student和student1,都有name,yuwen,shuxue三个字段,name为主键,目标:studen1表复制到student表和student1到student的更新复制语句:insert into student(select * from student1)批量更新语句:update (select student.shuxue a1,student1.原创 2012-09-10 13:03:25 · 4281 阅读 · 0 评论 -
ExecuteUpdate with values Error , ORA-00911: 无效字符(解决方案)
执行话语放到pl/sql developer 里面执行没有报错,放java里面就是报这个错,后来一看多个分号,靠这也算错!原创 2012-09-28 13:34:56 · 991 阅读 · 0 评论 -
oracle两张表求并集,交集部分新建字段指明标志位
select d.xh,nvl2(t.swjg_bm,'n','y') flag from dm_gy_ybxm d,t_zt_xmzt t where d.xh=t.xmzrm(+) and t.swjg_bm(+)='001584511'原创 2012-09-25 16:15:48 · 1853 阅读 · 0 评论 -
oarcle之with as 构建临时表查询
先将结果查询到临时表中,然后再从临时表中将所需要的字段提出,好处代码清晰,执行效率高!基于with查询例子有三张表,分别将三张表的结果存到临时表aa,bb,cc,然后将三张表组合查出需要的结果with aa as (select * from student), bb as (select * from score),cc as (select * from class) sel原创 2012-10-19 14:48:55 · 782 阅读 · 0 评论 -
Oracle之分组应用
当有三张表ABC,都有共同字段d,想查出d在三张表存在的几种情况进行统计用分组来实现, select sum(ziduan1),sum(ziduan2),sum(ziduan3),d from ((select ziduan1,ziduan2,ziduan3,d from A where ....) union (select ziduan1,ziduan2,zidu原创 2012-12-19 09:29:39 · 469 阅读 · 0 评论 -
oracle遍历树
遍历此节点到祖先节点: select * from tree t connect by prior t.parent= t.child start with t.child='001190360'遍历此节点到孙子节点: select * from tree t connect by priort.child =t.parent start with t.chil原创 2013-01-23 14:02:29 · 1499 阅读 · 0 评论 -
oracle--多行转为一行的连接手段
今天遇到将多行转为一行的一个操作,多谢oracle开发板的 wildwave 提供了比较通用的解决办法,同时也将自己搜到的这方面资料整理如下,多是用于连接列值的。String集聚连接技术 需要将多行转换为一行,例子如下: 基础数据: DEPTNO ENAME ---------- ---------- 20转载 2013-01-17 10:55:04 · 918 阅读 · 0 评论 -
sqlplus oracle适配器连接错误 pl/sql可以正常连接
1.启动监听和实例的服务2.在注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 上新建项ORACLE_SID,值为实际库的实例SID如orcl原创 2013-07-19 12:49:32 · 752 阅读 · 0 评论 -
oracle查询用户所在表为空的表名
select * from user_tables u where u.num_rows = 0原创 2013-07-19 13:59:02 · 3928 阅读 · 1 评论 -
oracle聚合 将多行单记录合并到一行
select t.jl_hh,t.jk_gzbm,t.jkzbmc,t.gzfz,t.zgjy,(select replace(WMSYS.WM_CONCAT(k.zcmc), ',', ';') glws from FX_ZCWS k where k.gz_hh =t.jl_hh) glws from jk_jkyjgz t where t.jl_sc_bz = 0 order by t原创 2013-08-09 16:08:58 · 993 阅读 · 0 评论 -
oracle导出指定表和追加dmp
导出指定的表exp 用户名/密码@数据库名 file=导出文件放的路径 tables=(表1,表2...)将导出的指定的表,追加到其它dmp文件中imp 用户名/密码@数据库名 file=要导入的dmp文件的路径 full=yignore=y -- ignore=y是必须要有的,否则不能追加转载 2013-08-26 14:59:55 · 1187 阅读 · 0 评论 -
IMP-00017: 由于 ORACLE 的 20001 错误,以下的语句失败
STATISTICS=none原创 2013-08-28 13:51:48 · 1011 阅读 · 0 评论 -
toad for oracle 自动提示
ctrl+. (输入前几个字母,然后按住ctrl+句号即可)原创 2013-08-30 15:41:47 · 5007 阅读 · 0 评论 -
oracle导出已存在数据库表建表语句
第一步:安装pl/sql Developer (此程序Oracle必备软件,在此不再讨论)第二步:登录pl/sql Developer 登录界面第三步在左侧菜单选择Tables第三步 点开Tables后在要导出的表上右键-DBMS_MetaData-DDL即可导出创建表的DDL语句原创 2012-03-16 10:01:35 · 14132 阅读 · 2 评论 -
java和oracle日期互转
1、将java.util.Date 转换为 java.sql.Datejava.util.Date utilDate = new java.util.Date();java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());2、若要插入到数据库并且相应的字段为Date类型可使用PreparedStatement.set原创 2012-03-09 16:13:30 · 11488 阅读 · 0 评论 -
Oracle自增ID的实现过程(彻底解决触发器无法验证的问题)
第一步建表第二步建序列CREATE SEQUENCE SEQname INCREMENT BY 1 START WITH 1 MAXVALUE 99999999 / 第三步建触发器CREATE TRIGGER TRGname BEFORE INSERT ON table_name转载 2012-03-04 14:39:10 · 1029 阅读 · 0 评论 -
第9章 表和约束
Oracle数据类型\ROWID:伪列,是表中虚拟的列,是系统自动生成的每一行记录中都包含ROWID,表示行中的唯一地址,ROWID标识了Oracle如何定位行,通过ROWID能快速定位这行记录.创建表实例table student(id char(8),name varchar2(8),sex char(2),weight number(2,2),age nu原创 2012-03-01 16:21:28 · 399 阅读 · 0 评论 -
SQLPLUS常用命令
(1) 启动和关闭数据库命令 A. 关闭数据库shutdown (normal):正常关闭,等待目前所有用户退出关闭数据库,再不允许任何用户连接。shutdown immediate:立即关闭,断开所有已经连接的用户然后关闭。在以下情形中使用立即关闭数据库模式:a. 要初始化一个自动的并且未参与的备份b. 当要马上发生电源的关闭动作时c. 当数据库或其中一个应用程原创 2012-02-29 16:10:30 · 706 阅读 · 0 评论 -
第二章 简单SQL语句
选择全部列SELECT *FROM departments;选择特定的列SELECT department_id, location_id FROM departments;使用数学运算符SELECT last_name, salary, salary + 300FROM employees;操作符优先级SELECT last_name, sal原创 2012-03-01 08:26:11 · 343 阅读 · 0 评论 -
第4章 单行函数
大小写控制函数LOWER('SQL Course')UPPER('SQL Course')INITCAP('SQL Course')显示员工 Higgins的信息:SELECT employee_id, last_name, department_id FROM employeesWHERE last_name = 'higgins';no rows sele原创 2012-03-01 09:52:44 · 468 阅读 · 0 评论 -
第6章 分组函数
分组函数作用于一组数据,并对一组数据返回一个值。AVG(平均值)和 SUM (合计)函数SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary)FROM employeesWHERE job_id LIKE '%REP%';MIN(最小值) 和 MAX(最大值)函数SELECT MIN(hire原创 2012-03-01 10:28:07 · 369 阅读 · 0 评论 -
第7章 子查询
子查询SELECT last_name FROM employeesWHERE salary > (SELECT salary FROM employees WHERE last_name = 'Abel'); 注意事项•子查询要包含在括号内。 •将子查询放在原创 2012-03-01 10:41:28 · 430 阅读 · 0 评论 -
第一章Oracle数据库基础
数据库名:数据库的名称,在控制文件中有记录,在参数文件中通过db_name指定实例名:数据库的内存区域和后台进程的集合的总称,在参数文件中通过instance_name指定,通常与db_name相同服务名:数据库在指令系统上被作为一个服务对待,所以对外数据库以服务的形式出现,通常访问数据库被叫做访问数据库服务 服务名通过参数service_names指定.连接字符串:通过网络访问远程服原创 2012-02-29 15:19:46 · 417 阅读 · 0 评论 -
第8章 数据操作与事务控制
数据操作语言(DML:Data Manipulation Language)主要包括以下语句:--insert--update--delete事务控制主要包含下列命令:--commit--rollback--savepoint插入单行语句insert into stu1 values(22,'孙悟空')插入空值insert into stu1 val原创 2012-03-01 13:21:07 · 396 阅读 · 0 评论 -
第10章 PL/SQL基础知识
PL/SQL块的组成pl/sql语言以块为单位,块中可嵌套子块一个基本的pl/sql由三部分组成 定义部分(declare)可执行部分(begin)异常处理部分(exception)declare v_deptno emp.deptno%type; v_ename emp.ename%type; v_empno number(4) not null:736原创 2012-03-02 14:07:14 · 313 阅读 · 0 评论 -
oracle日期格式转换
alter session set nls_date_format='yyyy-mm-dd';原创 2011-04-09 20:55:00 · 612 阅读 · 0 评论 -
数据库练习表(包含省份,市县)
CREATE TABLE XKXT.XKXT_XK_XSZCXXB( RESOURCE_ID VARCHAR2(32) NOT NULL, XH VARCHAR2(20) NOT NULL, XM VARCHAR2(80), PASSWORD原创 2012-03-08 17:59:18 · 18606 阅读 · 0 评论 -
Oracle分页查询
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。 分页查询格式:SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM )WHERE RN >= 21其中最内层的查询SELECT * FROM TABLE_NAME表示不进行转载 2012-03-08 17:19:39 · 536 阅读 · 0 评论 -
java与oracle日期格式
oracle及Java日期格式如果想转化为2005-07-05 的格式,则需要使用类 SimpleDateFormat SimpleDateFormat formatt= new SimpleDateFormat("yyyy-MM-dd") ; Date date =new Date(); System.out.println(formatt.format(date));原创 2012-03-09 14:43:56 · 2761 阅读 · 0 评论 -
ORA-01034: ORA-27101: ORA-28056 问题解决办法
打开我的电脑-管理-事件查看器--应用程序,右键-----正常登-“清除所有事件”,重启ORACLE服务,数据库可以正常登录,问题解决!!!转载 2013-09-05 22:13:46 · 616 阅读 · 0 评论