当前位置: 首页 > 知识库问答 >
问题:

尝试按索引打印集合变量时出错

钱弘壮
2023-03-14

有人能识别出以下代码的错误吗。特别是第一条dbms_输出线。第二张打印得很好。但第一个错误是:

第2行ORA-06550错误:第15行,第53列:PLS-00201:标识符“MYCOLL”必须声明ORA-06550:第15行,第1列:PL/SQL:忽略语句

DECLARE
   CURSOR c1
   IS
      SELECT sub_provider_address_id sub_id, phone, extension
        FROM sub_provider_address;

   TYPE coll_type IS TABLE OF c1%ROWTYPE;
   my_coll   coll_type;
BEGIN
   OPEN c1;

   FETCH c1
   BULK COLLECT INTO my_coll;

dbms_output.put_line(' my_coll first row id has '|| mycoll(1).phone );
dbms_output.put_line(' my_coll now has '|| my_coll.last );

END;

共有2个答案

江浩慨
2023-03-14

你的coll_type不是一个关联的数组类型。你必须使用这样的东西:

TYPE coll_type IS TABLE OF c1%ROWTYPE index by pls_integer;

以此为例:

declare
  cursor c1 is
    select 1 id from dual
  ;
  type coll_type is table of c1%ROWTYPE index by pls_integer;
  l_coll_type coll_type;
begin
  open c1;
  fetch c1 bulk collect into l_coll_type;
  close c1;
  dbms_output.put_line('Output:' || l_coll_type(1).id);
end;

Output:1
酆意智
2023-03-14

您将变量声明为my\u coll:

my_coll   coll_type;

在出错的行中,您将其称为mycoll

dbms_output.put_line(' my_coll first row id has '|| mycoll(1).phone );

所以你只是缺少一个下划线,它应该是:

dbms_output.put_line(' my_coll first row id has '|| my_coll(1).phone );
 类似资料:
  • 我试着运行这个: 但是得到这个错误: 回溯(最后一次调用): 文件“C:\Users\Shakh\Desktop\Hello3.py”,第4行,在 打印(“Hallo”,sys.argv[1]) 索引器:列表索引超出范围

  • 问:反转一个列表(自己做方法,不要用集合) 我收到一个错误< code > UnsupportedOperationException 试验 我不明白为什么在< code>list.remove(0)上出现< code > UnsupportedOperationException ;

  • 我正在使用Zebra iMZ320打印机、windows mobile设备、CPCL和vb.net。 我试图让代码加载位图图像,然后使用CPCL打印它 我有一段类似于下面的代码,可以毫无问题地工作。我一定错过了一些显而易见的东西,但就我的一生而言,我看不到它。 我的问题是打印机只会打印出HEX而不是图像!以前有人遇到过这个吗?你能帮忙吗? 公共子绘制位图(ByVal xPosition为整数,By

  • 我试图为hibernate OGM mongo DB应用程序添加hibernate搜索支持。当我尝试使用行重新生成索引时,经常会出现以下异常。 HSearch000058:HSearch000116:MassIndexer操作过程中出现意外错误java.lang.NosuchMethoderror:org.hibernate.search.engine.spi.documentBuilderInd

  • 问题内容: 例如,我们有: 有没有更好的方法来在变量周围打印双引号? 问题答案: 更新: 从Python 3.6开始 ,您可以使用f字符串 原始答案: 您可以尝试%格式化 要么 或将引号字符转义为 并且,如果双引号不是一个限制(即单引号可以) 或者像其他人已经说过的那样(将其包含在您的声明中) 使用任何 您 觉得更好或更少引起混淆的东西。 而且,如果您需要对多个单词进行操作,则最好创建一个函数

  • 问题内容: 我想在引号中打印一个变量。我想打印出来 我已经尝试了很多,但有效的方法是: –但是输出中有两个空格-> 当我不使用逗号时,会出现语法错误。 如何在一对引号内打印内容? 问题答案: 您可以使用: 在这里了解格式:格式 在3x中,您可以使用: