Function 创建一个";项目“列表功能”;它具有以下特性(PLSQL)
我正在尝试创建一个具有以下功能的Function 创建一个";项目“列表功能”;它具有以下特性(PLSQL),function,dynamic,plsql,Function,Dynamic,Plsql,我正在尝试创建一个具有以下功能的“item\u list函数”: 指定TRUNC(SYSDATE)+1作为pv\u end\u date参数的默认值 创建一个反映项目对象类型的item\u rec记录类型 创建一个弱类型游标的item\u cur系统引用游标 创建item rec数据类型的item\u行变量 创建item_选项卡集合类型的item_集合变量,并创建item_选项卡集合的空实例 创建stmt字符串变量以保存本机动态SQL(NDS)变量 将NDS字符串分配给stmt变量。字符串应返回
“item\u list函数”
:
TRUNC(SYSDATE)+1
作为pv\u end\u date
参数的默认值item\u rec
记录类型item\u cur
系统引用游标item\u行
变量item_集合
变量,并创建item_选项卡集合的空实例
别名为item\u title
title
别名为item\u subtitle
subtitle
别名为item\u rating
rating
别名为项目发布日期
发布日期
WHERE
子句应检查MPAA的项目评级机构
值和项目发布日期
:
- 为
和pv\u开始日期
值绑定变量pv\u结束日期
- 使用stmt动态语句打开当前系统参考光标项,并使用子句在
内分配
和pv\u开始日期
变量pv\u结束日期
- 将
系统参考光标移到item\u cur
数据类型的item\u行
变量中item\u rec
- 扩展
集合的item_选项卡
变量中的空间item_集合
- 使用
变量创建item_行
集合的实例item_集
项目对象
和项目选项卡
以下是我需要帮助的部分:
--create a item_list function
CREATE OR REPLACE
FUNCTION item_list
( pv_start_date DATE
, pv_end_date DATE )
RETURN item_tab IS
/* Declare a record type. */
TYPE item_rec IS RECORD
( title VARCHAR2(60)
, subtitle VARCHAR2(60)
, rating VARCHAR2(8)
, release_date DATE);
/* Declare reference cursor for an NDS cursor. */
item_cur SYS_REFCURSOR;
/* Declare a customer row for output from an NDS cursor. */
item_row ITEM_REC;
item_set ITEM_TAB := item_tab();
/* Declare dynamic statement. */
stmt VARCHAR2(2000);
BEGIN
/* Create a dynamic statement. */
stmt := SELECT 'title, rating'|| FROM 'item '|| WHERE 'REGEXP_LIKE(release_date,''^.*''||:input||''.*$'')';
/* Open and read dynamic cursor. */
OPEN item_cur FOR stmt USING pv_start_date AND pv_end_date;
LOOP
/* Fetch the cursror into a customer row. */
FETCH item_cur INTO item_row;
EXIT WHEN item_cur%NOTFOUND;
/* Extend space and assign a value collection. */
item_set.EXTEND;
item_set(item_set.COUNT) :=
item_obj ( item_title => item_title.title
, item_subtitle => item_subtitle.subtitle
, item_rating => item_rating.rating
, item_release_date => item_release_date.release_date );
END LOOP;
/* Return customer set. */
RETURN item_set;
END item_list;
/
--call the customer_list function
desc item_list
你完成你的问题了吗?是的,我完成了。我不知道如何更新这个东西。你完成你的问题了吗?是的,我完成了。我不知道如何更新这个东西。