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日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵