CREATE OR REPLACE PACKAGE PERSON AS --创建规范
NOPERSON EXCEPTION; --定义异常
PERSONCOUNT INT; --定义变量
CSR CURSOR; --定义游标
PROCEDURE ADDPERSON(NAME VARCHAR(50),CITY VARCHAR(50)); --加人
PROCEDURE REMOVEPERSON(V_NAME VARCHAR(50),V_CITY VARCHAR(50)); --删人
PROCEDURE REMOVEPERSON(V_ID INT); --重载、删人
FUNCTION GETPERSONCOUNT RETURN INT; --函数,返回人数
PROCEDURE GETPERSONLIST; --获取所有人信息
END PERSON; --结束创建
创建包主体
CREATE OR REPLACE PACKAGE BODY PERSON AS
PROCEDURE ADDPERSON(NAME VARCHAR(50),CITY VARCHAR(50)) AS
BEGIN
INSERT INTO TEST(NAME,CITY) VALUES(NAME,CITY);
PERSONCOUNT=PERSONCOUNT+SQL%ROWCOUNT;
END ADDPERSON;
PROCEDURE REMOVEPERSON(V_NAME VARCHAR(50),V_CITY VARCHAR(50)) AS
BEGIN
DELETE FROM TEST WHERE NAME LIKE V_NAME AND CITY LIKE V_CITY;
PERSONCOUNT=PERSONCOUNT-SQL%ROWCOUNT;
END REMOVEPERSON;
PROCEDURE REMOVEPERSON(V_ID INT) AS
BEGIN
DELETE FROM TEST WHERE ID=V_ID;
PERSONCOUNT=PERSONCOUNT-SQL%ROWCOUNT;
END REMOVEPERSON;
FUNCTION GETPERSONCOUNT RETURN INT AS
BEGIN
RETURN PERSONCOUNT;
END GETPERSONCOUNT;
PROCEDURE GETPERSONLIST AS
DECLARE
V_ID INT;
V_NAME VARCHAR(50);
V_CITY VARCHAR(50);
BEGIN
IF PERSONCOUNT=0 THEN
RAISE NOPERSON;
END IF;
OPEN CSR FOR SELECT ID,NAME,CITY FROM TEST;
LOOP
FETCH CSR INTO V_ID,V_NAME,V_CITY;
EXIT WHEN CSR%NOTFOUND;
PRINT (CAST(V_ID AS VARCHAR(50))||‘号学生是’||V_NAME||‘,来自’||V_CITY);
END LOOP;
CLOSE CSR;
END GETPERSONLIST;
BEGIN
SELECT COUNT(*) INTO PERSONCOUNT FROM TEST;
END PERSON
重新编译包
ALTER PACKAGE PERSON COMPILE;
调用包中的ADDPERSON过程,往表中加一条记录
SQL> CALL PERSON.ADDPERSON(‘赵开’,‘北京’);
DMSQL 过程已成功完成
已用时间: 1.963(毫秒). 执行号:1925.
SQL> SELECT * FROM TEST;
行号 ID NAME CITY
1 1 叶枫 上海
2 2 沈淼 武汉
3 3 罗云 成都
4 4 赵开 北京
已用时间: 0.412(毫秒). 执行号:1926.
SQL>
调用REMOVEPERSON过程,删除刚刚加的记录
SQL> CALL PERSON.REMOVEPERSON(‘赵开’,‘北京’);
DMSQL 过程已成功完成
已用时间: 13.914(毫秒). 执行号:1979.
SQL> SELECT * FROM TEST;
行号 ID NAME CITY
1 1 叶枫 上海
2 2 沈淼 武汉
3 3 罗云 成都
已用时间: 0.159(毫秒). 执行号:1980.
学习分享,共勉
这里是小编拿到的学习资源,其中包括“中高级Java开发面试高频考点题笔记300道.pdf”和“Java核心知识体系笔记.pdf”文件分享,内容丰富,囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。同时还有Java进阶学习的知识笔记脑图(内含大量学习笔记)!
资料整理不易,读者朋友可以转发分享下!
Java核心知识体系笔记.pdf
中高级Java开发面试高频考点题笔记300道.pdf
架构进阶面试专题及架构学习笔记脑图
Java架构进阶学习视频分享
Java核心知识体系笔记.pdf
[外链图片转存中…(img-Dq1VFYhM-1720081420455)]
中高级Java开发面试高频考点题笔记300道.pdf
[外链图片转存中…(img-ZhzqPKLK-1720081420455)]
架构进阶面试专题及架构学习笔记脑图
[外链图片转存中…(img-g1Kusky8-1720081420456)]
Java架构进阶学习视频分享