随笔分类 -  Oracle

摘要:oracle分页过程demo1: --ROWNUM用法 select o.*,rownum rn from (select * from emp) o where rownum=6; 1)、开发一个包 建立一个包,在该包中定义类型为test_cursor的游标。 --建立一个包 create or replace package testpackage as type test_curso... 阅读全文
posted @ 2017-01-20 18:53 ATJAVA 阅读(157) 评论(0) 推荐(0)
摘要:oracle体系结构 数据库(软件+硬件) 实例:内存(SGA,pga,uga)+进程(后台进程,服务进程). 物理结构:数据文件/控制文件/日志文件。 逻辑结构: 表空间>逻辑对象(表,视图,索引,触发器,存储d索引段,临时段,回滚段)>区间(oracle操作最小单位)>块(存储单位) Oracle体系架构主要有两大部分组成:数据库实例(Instance)和数据库文件(d... 阅读全文
posted @ 2017-01-17 22:04 ATJAVA 阅读(263) 评论(0) 推荐(0)
摘要:通过IP 连接数据库: sqlplus userName/userPassword@//IP:port/SID 例:sqlplus testuser/123456@//192.168.0.1:1521/orcl 阅读全文
posted @ 2017-01-17 21:36 ATJAVA 阅读(2861) 评论(0) 推荐(0)
摘要:--查询所有列语句 select * from emp; ---查询指定列表的查询语句 select empno,ename,sal from emp; --带有简单算术运算符的简单查询 select empno,ename,sal+500 from emp; --在sql语句中使用列的别名(只需在列名和别名之间放上 as或者空格就可以把列名改为别名。字符串别名需要加上双引号。) select ... 阅读全文
posted @ 2017-01-17 20:47 ATJAVA 阅读(189) 评论(0) 推荐(0)
摘要:select * from manager; select * from dish; select * from board; select * from employee; select * from orders; select * from order_detail; -- 菜品表 create table dish ( dishID number(10) primary k... 阅读全文
posted @ 2017-01-09 16:56 ATJAVA 阅读(164) 评论(0) 推荐(0)
摘要:/*视图的必要性 create view population_all_view as select xxxx 详细信息 from qgck where rownum<500 -- sql语句不易读懂 create view population_all_view as select * from qgck where rownum<500;-- sql语句超出负载。 */ selec... 阅读全文
posted @ 2017-01-08 15:06 ATJAVA 阅读(210) 评论(0) 推荐(0)
摘要:--常用数据字典 -- system: normal; sysdba --查询所有的逻辑对象。所有。 select count(1) from dba_objects; select * from dba_users; --查看所有的用户 select * from dba_tables; --查询所有的表· --查询所有的逻辑对象.本用户权限范围下的能看的所有。 select count... 阅读全文
posted @ 2017-01-08 15:01 ATJAVA 阅读(690) 评论(0) 推荐(0)
摘要:第一天: 1 oracle的安装 a 卸载 b 安装服务器软件及数据库(orcl) --OracleServiceOrcl c 执行网络配置--配置监听1521,本地net服务名(创建1个外部连接的url) --OracleHomeTnsListener 2 oracle的概述 甲骨文。最好的商用数据库。可以稳定的处理百万级别的数据吞吐量,中型数据库。 特点:a 稳... 阅读全文
posted @ 2017-01-06 19:59 ATJAVA 阅读(216) 评论(0) 推荐(0)
摘要:1 序列 sequence oracle特有。实现“自增”或“自减”的逻辑对象。 2 同义词 synonym 对表取别名,该别名被永久存储。 比视图更省资源。 私有同义词和公有同义词。 3 索引 index 概念:起到“目录”的作用。加快查询的速度。 a 额外占用空间 b 当对数据进行修改时,需要更新索引。 主键... 阅读全文
posted @ 2017-01-06 19:58 ATJAVA 阅读(294) 评论(0) 推荐(0)
摘要:第一天: -- 创建book表 create table book ( bid number primary key, bname varchar2(20) not null, price number(10,2) not null ) -- 插入数据 insert into book(bid,bname,price)values('20','西游记','170.5'); insert into... 阅读全文
posted @ 2017-01-06 19:56 ATJAVA 阅读(182) 评论(0) 推荐(0)
摘要:--1 没有入参的函数.返回字符串 create or replace function get_time return varchar2 as v_time varchar2(20); --声明1个局部变量 begin select to_char(sysdate,'hh24:mi:ss') into v_time from dual; return v_time; end; ... 阅读全文
posted @ 2017-01-06 19:55 ATJAVA 阅读(185) 评论(0) 推荐(0)
摘要:--1 无入参最简单的存储过程 create or replace procedure hello_proc as v_name varchar2(20); v_age number; begin v_name:='bai'; v_age:=18; dbms_output.put_line('你好'||v_name||',你今年'||v_age); end... 阅读全文
posted @ 2017-01-06 19:54 ATJAVA 阅读(156) 评论(0) 推荐(0)
摘要:--复制表 create table emp as(select * from scott.emp); select * from emp; --(1) 最简单的游标 declare --声明并初始化游标 cursor v_cur is select empno,ename from emp order by empno; v_empno emp.empno%type; v_ename emp... 阅读全文
posted @ 2017-01-06 19:52 ATJAVA 阅读(117) 评论(0) 推荐(0)
摘要:-- 1 创建视图 show_max_sal_name_view 显示工资最高的员工姓名及他的工资 create or replace view show_max_sal_name_view as select ename,sal from scott.emp where sal=(select max(sal) from scott.emp); select * from show_max... 阅读全文
posted @ 2017-01-06 19:51 ATJAVA 阅读(123) 评论(0) 推荐(0)
摘要:包(package) 作用:逻辑对象的一种。对相关存储过程、函数、变量的封装。 a 封装,便于调用 b 统一授权 系统内置包:dbms_output。用于输出。 standard:常用的函数。异常的定义 自定义包: 包头:package。声明公有的函数、存储过程及公有变量。 包体:package body。实现包头声明的函数、存储过程。定义私有变量。 --调用系统... 阅读全文
posted @ 2017-01-06 15:11 ATJAVA 阅读(134) 评论(0) 推荐(0)
摘要:日期/时间 相关查询 1.获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天。你可以用任何的日期值替换 “SYSDATE”来指定查询的日期。 SELECT TRUNC (SYSDATE, 'MONTH') "First day of current month" FROM DUAL; 2.获取当前月份的最后一天 这个查询语句类似于上面那个语句,而且充分照顾到了闰年,所以当二月份有 2... 阅读全文
posted @ 2017-01-06 14:51 ATJAVA 阅读(303) 评论(0) 推荐(0)
摘要:1 触发器 概念:trigger。逻辑对象的一种。当dml的增删改语句执行时,自动触发一系列动作。 分类:dml触发器。ddl触发器(很少见) sql:ddl,dml,dcl 按触发的时间分: 语句执行前-->[行变化之前-->行变化之后]-->语句执行后 update emp set sal=sa 阅读全文
posted @ 2017-01-06 12:16 ATJAVA 阅读(1155) 评论(0) 推荐(0)
摘要:select * from scott.emp; --1 列出emp表中各部门的部门号,最高工资,最低工资 select deptno,max(sal),min(sal) from scott.emp group by deptno; 2 列出emp表中各部门job为'CLERK'的员工的最低工资,最高工资 select min(sal),max(sal) from scott.e... 阅读全文
posted @ 2017-01-06 12:14 ATJAVA 阅读(339) 评论(0) 推荐(0)
摘要:一、触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。然后,触发器的触发条件其实在你定义的时候就已经设定好了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数据改变时就... 阅读全文
posted @ 2017-01-06 10:42 ATJAVA 阅读(161) 评论(0) 推荐(0)
摘要:import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import oracle.jdbc.OracleTypes; import oracle.jdbc.oracore.OracleType; public class Test { static void 简... 阅读全文
posted @ 2017-01-05 07:40 ATJAVA 阅读(164) 评论(0) 推荐(0)