1 序列 sequence
oracle特有。实现“自增”或“自减”的逻辑对象。
2 同义词 synonym
对表取别名,该别名被永久存储。 比视图更省资源。
私有同义词和公有同义词。
3 索引 index
概念:起到“目录”的作用。加快查询的速度。
a 额外占用空间 b 当对数据进行修改时,需要更新索引。
主键:特殊的唯一索引。只有建立索引才能实现主键的唯一。
唯一索引:只要一个字段的值完全不同,那么可以建立唯一索引。
b树索引:索引是二叉树状。
sql server:
聚集索引 :索引的顺序和表记录的存放物理位置一致。一个表最多只能建立1个。
非聚集索引:索引的顺序和表记录的存放物理位置不一致。一个表可以建立多个。
很重要的逻辑对象
1 存储过程 procedure 不允许重载
对特定plsql行为脚本进行封装的逻辑对象,可以在数据库中永久存储。
作用:
a 封装,便于调用
b 预编译速度快。
c 安全。不公开表的访问权限,只公开特定存储过程的使用权限。mybatis.
d 节省网络流量
基础结构
create or replace procedure 存储过程名_proc
(
入参及出参的声明
)
as
-- 局部变量的声明
begin
exception
when 异常对象 then
出错处理
end;
分类:
a 无入参
创建:
调用:test;plsql调用;
debug:语法错误--edit;
b 只有入参
c 有入参,也有出参
入参:不改变的参数
出参:会被改变,且能在过程调用后被外部读取的参数。允许多个出参。
2 函数
a 无入参
b 有入参。
函数和存储过程的区别:
a 必须用return返回值
b 可以直接用在sql语句的select中
=====================================
游标 cursor
概念:对数据库记录集的“当前指向”。
分类:
a 隐式游标(系统自动为每条sql语句分配游标):sql。
rowcount--已经提取了几行。
isopen--是否游标开启。
notfound--是否游标已经到达末尾
b 显式游标(自定义游标)
在plsql语句中,如果select的结果大于1行,只能通过显式游标去依次提取数据!
select ... into ....
(1) 最简单的游标 步骤:
声明并初始化游标
打开游标
依次提取记录
关闭游标
(2) 带参数的游标
(3) 可修改的游标:可写
(4) 简化方式1
(5) 简化方式2
(6)返回游标的函数
oracle的jdbc调用
和mysql一致,除了:驱动jar包,url连接串。
ojdbc14.jar :oracle产品目录\db_1\jdbc\lib