Plsql 具有n个嵌套表类型参数的PL/SQL过程
我目前正在完成一项任务,创建一个程序,允许用户输入代码中所示的信息,如Plsql 具有n个嵌套表类型参数的PL/SQL过程,plsql,oracle11g,Plsql,Oracle11g,我目前正在完成一项任务,创建一个程序,允许用户输入代码中所示的信息,如customerID、产品代码等。该过程应该能够接受这些参数“n”次,这解释了为什么我创建了该类型的表。我不知道我做错了什么,但我有一个编译过的过程,但有错误 求你了,我真的需要有人来救我( 假设你有合适的地址类型 我已经做了一个样品 将服务器输出设置为ON CREATE OR REPLACE TYPE address_typ IS OBJECT ( val1 VARCHAR2(20),
customerID
、产品代码等。该过程应该能够接受这些参数“n”次,这解释了为什么我创建了该类型的表。我不知道我做错了什么,但我有一个编译过的过程,但有错误
求你了,我真的需要有人来救我(
假设你有合适的
地址类型
我已经做了一个样品
将服务器输出设置为ON
CREATE OR REPLACE TYPE address_typ IS OBJECT
(
val1 VARCHAR2(20),
val2 VARCHAR2(20),
val3 VARCHAR2(20)
);
现在,
请注意:
要显示类型字段,需要使用列名
DECLARE
placeOrder_var placeOrder_tbltyp := NEW placeOrder_tbltyp();
BEGIN
placeOrder_var.EXTEND;
placeorder_var(1) := placeOrder_typ(1, 2,3, address_typ('3 Cross Road', 'Sunderland', 'SU2 6ZA'));
p_placeOrder (p_placeOrder_tbl => placeOrder_var);
END;
/
输出:
anonymous block completed
1 Customer No
2 Product No
3 Quantity
3 Cross Road Delivery Address
非常感谢,我已经让它工作了,但是如何显示customerID、itemNo、itemQuan以及完整的deliveryAddress的值呢?您可以使用相同的方法,即p_placeOrder_tbl(i).deliveryAddress.val2、p_placeOrder_tbl(i).deliveryAddress.val3等。。
DECLARE
placeOrder_var placeOrder_tbltyp := NEW placeOrder_tbltyp();
BEGIN
placeOrder_var.EXTEND;
placeorder_var(1) := placeOrder_typ(1, 2,3, address_typ('3 Cross Road', 'Sunderland', 'SU2 6ZA'));
p_placeOrder (p_placeOrder_tbl => placeOrder_var);
END;
/
anonymous block completed
1 Customer No
2 Product No
3 Quantity
3 Cross Road Delivery Address