包:是有存储在一起的相关对象组成的PL/SQL结构;用于逻辑组合相关的自定义类型、变量、游标、过程和函数。
oracle内置包:
程序包将有两个强制性的部分:包装规范定义、包体或定义。
--包头
CREATE OR REPLACE PACKAGE c_package AS
PROCEDURE proc1;
PROCEDURE proc2;
PROCEDURE proc3;
END c_package;
--包体
CREATE OR REPLACE PACKAGE BODY c_package AS
PROCEDURE proc1
IS
BEGIN
--执行存储过程中逻辑
END proc1;
PROCEDURE proc2
IS
BEGIN
--执行存储过程中逻辑
END proc2;
PROCEDURE proc3
IS
BEGIN
--执行存储过程中逻辑
END proc3;
END c_package;
视图:可以包含一个表中的所有行或从表中选择部分行。视图可以从一个或多个表取决于书面SQL查询来创建
特点:是一个数据库中虚拟的表;经过查询操作形成的结果;具有普通表的结构;不能实现数据的存储;对视图的修改将会影响实际的数据表。
语法:
--创建
CREATE VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];
--查询
SELECT * FROM view_name ;
--删除
DROP VIEW view_name;
序列:是一个数据库的内置对象,产生一系列唯一的数值.
主要作用:实现主键自增的效果。
--创建
CREATE SEQUENCE seq_name
[ increment by n ] --增量
[ start with n ] --初始值
[ maxvalue n | nomaxvalue ] --最大值
[ minvalue n | nominvalue ]; --最小值
--修改
ALTER SEQUENCE seq_name
[ increment by n ]
[ maxvalue n | nomaxvalue ]
[ minvalue n | nominvalue ];
--删除
DROP SEQUENCE seq_name
数据库链:是一个建立在本地的路径,用于方便地实现不同数据库之间的通信。
--创建数据库链接
CREATE [ PUBLIC] DATABASE LINK link_name
CONNECT TO username IDENTIFIED BY password
USING 'SERVERNAME / SERVERURL';
SERVERNAME/SERVERURL:表示在连接时使用的服务名或者包含服务完整信息的路径
create database link link_goods
connect to jbit identified by bdqn
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.34)(PORT = 1521)))
(CONNECT_DATA =(SERVICE_NAME = prd34))
)';