十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、首先在package中定义存储过程,具体如下:
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了牡丹江免费建站欢迎大家使用!
CREATE OR REPLACE PACKAGE 包名
IS
PROCEDURE 存储过程名1(参数定义);
PROCEDURE 存储过程名2(参数定义);
......
END 包名;
2、其次在package body中具体实现即可。具体如下:
CREATE OR REPLACE PACKAGE BODY 包名
IS
PROCEDURE 存储过程名1(参数定义)
IS
BEGIN
EXCEPTION
END 存储过程名1;
PROCEDURE 存储过程名2(参数定义)
IS
BEGIN
EXCEPTION
END 存储过程名2;
END 包名;
从数据库用户角度看,数据库中的数据是以表、视图等方式储存的。那么用户自己是怎么创建表的呢?用户可以在Oracle提供的SQL*Plus中使用create table语句创建表。
工具/材料
电脑
Oracle 10g
CREATE TABLE创建表
01
首先用户必须要有CREATE TABLE系统权限,并且只能在自己的模式中创建表,图中的例子使用CREATE TABLE语句在当前模式中创建了一个共有5列的表:表的名称为employee1,包含 emp, name, job,age,dep 等5列,后面的number、 varchar2、等为数据类型,括号里面为长度
02
如果想要在其他模式中创建表,则必须在表名前加上模式名,并且用户还要有CREATE ANY TABLE系统权限,例如图中语句将在SYSTEM模式中创建employees2表
03
添加主键约束
就是对某一列添加为主键,一个表中只能有一个主键约束,且主键约束不能有空值和重复的值。 alter table employee1 add constraint pk_emp primary key (emp),给employee1表中的emp列添加主键约束。
04
添加非空约束
例如给name列添加非空约束,具体语句:alter table employee1 modify name not null
05
添加唯一性约束
添加唯一性约束之后该字段中不能包含重复的值,主要作用是在保证主键列外,其他列值的唯一性。具体语句如下,给job添加唯一性约束:alter table employee1 add constraint un_job unique(job)。
06
添加外连接
外连接就是在父表中的一列被子表引用,而且父表中的这一列一般是其主键列,例如将employee2中的emp列添加employee2中的emp的外键约束。alter table employee2 add constraint fk_empforeign key(emp) references employee1(emp)
07
添加检查约束
检查约束是通过检查输入到表中的数据值来维护域的完整性的,不符合条件的约束是不能被输入到表中的。例如给employee1中的dep添加检查约束,语句如下:alter table employee1 add constraint ch_dep check(dep10000)
08
删除表
如果你创建表使用完了,或者有错误,删除表的语句如下:drop table employee1 cascade constraint;删除表employee1.
特别提示
注意中英文标点符号的使用
例如下面这两个表中分别存的时员工的基本信息和公司的部门信息。我们为
create table dept
(deptno number(10) not null,
deptname varchar2(30) not null,
constraint pk_dept primary key(deptno));
和
create table emp
( empno number(10) not null,
fname varchar2(20) ,
lname varchar2(20) ,
dept number(10) ,
constraint pk_emp primary key(empno));
然后我们现在增加外键试一下on delete cascade
alter table emp
add constraint fk_emp_dept foreign key(dept) references dept(deptno) on delete cascade;
先增加外键。然后插入数据。
insert into dept values(1,’销售部’);
insert into dept values(2,’财务部’);
insert into emp values (2,’Mary’,'Song’,1);
insert into emp values (3,’Linda’,'Liu’,2);
insert into emp values (4,’Linlin’,'Zhang’,1);
然后现在我要删除销售部,会有什么后果呢?
delete from dept where deptno = 1;
我们发现除了dept中的一条数据被删除了,emp中两条数据也被删除了,其中emp中的两条数据是参照了销售部的这条数据的,这就很容易理解on delete cascade了。