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日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效