使用自定义类型参数创建一个过程。 PL/SQL

Posted

技术标签:

【中文标题】使用自定义类型参数创建一个过程。 PL/SQL【英文标题】:Create a procedure with custom type parameters. PL/SQL 【发布时间】:2017-04-03 15:50:43 【问题描述】:

我正在尝试创建一个将记录类型作为参数的过程。我的问题是我不能在程序之前定义我的类型,它说我的类型没有声明..我该怎么做?

这是我的代码:

 type tip is record ( nume varchar(20), prenume varchar(20) );

 create or replace procedure test_procedure (a tip) as
 begin
 dbms_output.put_line(' ');
 end;

错误(1,29):PLS-00201:必须声明标识符“TIP”

【问题讨论】:

【参考方案1】:

您不能直接创建记录类型架构对象。但是,您可以在包中定义它并使用它。

或者你可以定义对象的类型:

create or replace type tip is object ( nume varchar(20), prenume varchar(20) );

然后使用(注意a不允许有参数名):

 create or replace procedure test_procedure (p_tip tip) as
 begin
     dbms_output.put_line(. . .);
 end;
 /

【讨论】:

以上是关于使用自定义类型参数创建一个过程。 PL/SQL的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL 用户自定义子类型

Oracle数据库存储过程中输出参数为自定义游标类型时,使用call或者exec调用时,用啥来给游标赋值

Oracle PL/SQL:如何使用可变数组作为输出参数执行过程?

使用自定义类型调试 pl/sql 函数

从 0jdbc6 JDBCthin 驱动程序调用具有自定义对象返回类型的 Oracle PL/SQL 过程

用一些列 PL/SQL 定义一个集合