一.关于表的创包的规范
程序包的定义分为程序包说明定义和程序包主体定义两部分组成。
程序包说明定义:
CREATE [OR REPLACE] PACKAGE package_name
[AUTHID {CURRENT_USER | DEFINER}]
{IS | AS}
[公有数据类型定义[公有数据类型定义]…]
[公有游标声明[公有游标声明]…]
[公有变量、常量声明[公有变量、常量声明]…]
[公有函数声明[公有函数声明]…]
[公有过程声明[公有过程声明]…]
END [package_name];
程序包主体定义:
CREATE [OR REPLACE] PACKAGE BODY package_name
{IS | AS}
[私有数据类型定义[私有数据类型定义]…]
[私有变量、常量声明[私有变量、常量声明]…]
[私有异常错误声明[私有异常错误声明]…]
[私有函数声明和定义[私有函数声明和定义]…]
[私有函过程声明和定义[私有函过程声明和定义]…]
[公有游标定义[公有游标定义]…]
[公有函数定义[公有函数定义]…]
[公有过程定义[公有过程定义]…]
BEGIN
执行部分(初始化部分)
END package_name;
二.关于里面遇见的一些语法
- not exists 表示不存在/不包括
例句:select * from Men m where t.id=12410491 and not exists (select 1 from Women w where w.id=m.id);
语句有两个表,一个(Men)男生表一个(Women)女生表。()中的语句表示在女生表中查找m.id是否在女生表也存在。如果存在返回1,不存在不返回。如果不返回再执行前面的语句。因为一个id相当于身份证,不可能又是男生又是女生
2.修改包名
ALTER TABLE pkg_ls_Today_Contract RENAME TO t_Today_Contract
3.modify 修改空表里的字段类型
alter table pkg_ls_Today_Contract modify (contract_code varchar2(50));