/* File on web: justonce.sql */
CREATE OR REPLACE PACKAGE BODY justonce
IS
TYPE desc_t IS TABLE OF hairstyles.description%TYPE
INDEX BY BINARY_INTEGER;
descriptions desc_t;
FUNCTION description (code_in IN hairstyles.code%TYPE)
RETURN hairstyles.description%TYPE
IS
return_value hairstyles.description%TYPE;
FUNCTION desc_from_database RETURN hairstyles.description%TYPE
IS
CURSOR desc_cur IS
SELECT description FROM hairstyles WHERE code = code_in;
desc_rec desc_cur%ROWTYPE;
BEGIN
OPEN desc_cur;
FETCH desc_cur INTO desc_rec;
CLOSE desc_cur;
RETURN desc_rec.description;
END;
BEGIN
RETURN descriptions (code_in);
EXCEPTION
WHEN NO_DATA_FOUND THEN
descriptions (code_in) := desc_from_database;
RETURN descriptions (code_in);
END;
END justonce;
CREATE OR REPLACE PACKAGE BODY justonce
IS
TYPE desc_t IS TABLE OF hairstyles.description%TYPE
INDEX BY BINARY_INTEGER;
descriptions desc_t;
FUNCTION description (code_in IN hairstyles.code%TYPE)
RETURN hairstyles.description%TYPE
IS
return_value hairstyles.description%TYPE;
FUNCTION desc_from_database RETURN hairstyles.description%TYPE
IS
CURSOR desc_cur IS
SELECT description FROM hairstyles WHERE code = code_in;
desc_rec desc_cur%ROWTYPE;
BEGIN
OPEN desc_cur;
FETCH desc_cur INTO desc_rec;
CLOSE desc_cur;
RETURN desc_rec.description;
END;
BEGIN
RETURN descriptions (code_in);
EXCEPTION
WHEN NO_DATA_FOUND THEN
descriptions (code_in) := desc_from_database;
RETURN descriptions (code_in);
END;
END justonce;
本文介绍了一个使用PL/SQL创建的包,该包名为justonce,主要功能是从数据库中获取发型描述信息。通过定义类型、函数等元素实现了从hairstyles表中按code查询description的过程。

被折叠的 条评论
为什么被折叠?



