【问题标题】:Wrong number or type in a loop错误的号码或循环输入
【发布时间】:2019-10-09 13:46:55
【问题描述】:

收到此错误:

ERROR at line 5:
ORA-06550: line 5, column 19:
PLS-00306: wrong number or types of arguments in call to 'DAYS'

那么,加粗的“天数”是个问题……为什么?

CREATE OR REPLACE
  TYPE lyrics IS OBJECT
  ( date_name   VARCHAR2(8)
  , gift_name   VARCHAR2(24));
/

DECLARE
  TYPE days IS TABLE OF lyrics;
  TYPE gifts IS TABLE OF lyrics;
 lv_dates DAYS :=
                  **days**('first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh', 'eighth', 'ninth', 'tenth', 'eleventh', 'twelth');  

【问题讨论】:

  • 请标记您正在使用的编程语言。并提供更多信息,以便人们可以帮助您。
  • 谢谢!刚刚补充了,不胜感激

标签: sql oracle plsql declare


【解决方案1】:

应该是这样的;数组中的元素必须是“对象”,所以你必须在代码中指定lyrics

SQL> create or replace
  2    type lyrics is object
  3    ( date_name   varchar2(8)
  4    , gift_name   varchar2(24));
  5  /

Type created.

SQL>
SQL> declare
  2    type days is table of lyrics;
  3    lv_dates days := days();
  4  begin
  5    lv_dates := days(lyrics('first', 'second'), lyrics('third', 'fourth'));
  6  end;
  7  /

PL/SQL procedure successfully completed.

SQL>

【讨论】:

    猜你喜欢
    • 2021-07-16
    • 2021-12-20
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    相关资源
    最近更新 更多