Mr_Wu_1 2020-08-05 09:24 采纳率: 20%
浏览 111
已采纳

求助大神,关于oracle的for循环

FOR i in (select user_name,table_name from tb_parition_table_name)
loop
v_table_name:=upper(i.table_name);
v_user_name:=upper(i.user_name);
for j in (SELECT to_char(TRUNC(SYSDATE,'MM')+ROWNUM-1,'yyyymmdd') partiton_flag_ FROM dual connect by ROWNUM<=to_char(last_day(SYSDATE),'dd'))
loop
v_sql:='alter table '||v_user_name||'.'||v_table_name||' add partition part_'||j.PARTITON_FLAG||' values ('''||j.PARTITON_FLAG||''')';
--dbms_output.put_line(v_sql);
execute immediate v_sql;
end loop;
end loop;

这个双重循环中,外循环的i.table_name和i.user_name是什么意思,为什么要加 i. ,i 在数据集的范围内,这个数据集结果有两个字段,每次循环 i 对应是哪些值,内循环中形成的分区名结果是 part_20190101这种格式的,那 j.PARTITON_FLAG 是什么意思呢,为什么要加 .PARTITON_FLAG?
  • 写回答

1条回答 默认 最新

  • 李成国 2020-08-05 12:00
    关注

    i,j表示查询出来的每行,i.table_name,i.user_name表示按行循环时取到当前行的对应字段。j.PARTITON_FLAG也是一样的道理。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月20日

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站