[oracle]使用 sql for 循环的多个变量赋值

标签: Oracle oracle10g
发布时间: 2017/4/15 18:51:56
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我需要分配很多日期基于一个 date 值,该值通过递增的日期值。

下面的代码是一个示例。但它将引发错误。我在哪里错了善意的建议。

   DECLARE
     issuedate date:='27-JAN-12';
     issuedate_1 date;
     issuedate_2 date;
     issuedate_3 date;
   BEGIN
     for cnt in 1..5
     loop
       issuedate_||cnt := issuedate+cnt;
       DBMS_OUTPUT.PUT_LINE(cnt);
       DBMS_OUTPUT.PUT_LINE( issuedate_1);
       DBMS_OUTPUT.PUT_LINE( issuedate_2);
       DBMS_OUTPUT.PUT_LINE( issuedate_3);
     end loop;
   END;

解决方法 1:

你不能动态形成的变量的名称、 创建日期和增量的数组和分配值。 尝试此链接

issuedate_ | |碳纳米管: = issuedate + 碳纳米管; — — 问题是加粗部分

示例︰

SQL>   declare
  2  
  3        type date_aa is table of date index by pls_integer;
  4        l_date_aa date_aa;
  5        temp date:= to_date('27-mar-2012');
  6        buckets number:=5;
  7     begin
  8      for elem in 1 .. buckets loop
  9    select temp+1 into temp from dual;
 10    l_date_aa(elem) := temp;
 11    dbms_output.put_line(l_date_aa(elem));
 12    end loop;
 13    end;
 14  /

输出︰

28-MAR-12
29-MAR-12
30-MAR-12
31-MAR-12
01-APR-12

PL/SQL procedure successfully completed
赞助商