问题描述
塞尔维斯·汤姆,
我经常阅读您的博客,它对我学习PL/SQL有很大帮助
现在,我想做这样的事情:
1.读取并存储表有多少列
2.从索引i := 0循环到列号-1,索引从0开始到…。
3.将列的名称保存到数组中
在Oracle文档中
https://docs.oracle.com/cd/B28359_01/server.111/b28320/statviews_2091.htm
我看到了定义
COLUMN_NAME VARCHAR2(30) 不为空列名
我从您那里找到了一些类似的帖子,但不完全是这样。作为初学者,很难将您写的内容抽象为类似的问题。
非常感谢您的帮助!
亲切的问候
迈克尔
我经常阅读您的博客,它对我学习PL/SQL有很大帮助
现在,我想做这样的事情:
declare type l_array is table of varchar2(30) index by binary_integer; l_column_count NUMBER; i NUMBER; begin select count(*) INTO l_column_count from user_tab_columns where table_name='ARTIKEL'; FOR i IN 0..l_column_count-1 LOOP select COLUMN_NAME INTO l_array(i) from ALL_TAB_COLUMNS where TABLE_NAME='ARTIKEL'; dbms_output.put_line('Das Array hat '|| l_array(i) ||' Werte.'); END LOOP; end; /复制
1.读取并存储表有多少列
2.从索引i := 0循环到列号-1,索引从0开始到…。
3.将列的名称保存到数组中
在Oracle文档中
https://docs.oracle.com/cd/B28359_01/server.111/b28320/statviews_2091.htm
我看到了定义
COLUMN_NAME VARCHAR2(30) 不为空列名
我从您那里找到了一些类似的帖子,但不完全是这样。作为初学者,很难将您写的内容抽象为类似的问题。
非常感谢您的帮助!
亲切的问候
迈克尔
专家解答
这里有几个问题:
1.不需要先数几列!数组包括计数方法
2. PL/SQL关联数组索引从1开始,而不是零
3.您可以使用批量处理将行选择到数组中
还要注意: l_array声明为类型,而不是变量。
解决此问题的最简单方法是:
-用数组类型声明一个变量
-批量将查询收集到此变量中
-如果要查看其中的值,请从1循环到ARR.COUNT并输出它们
所有这些都给出了:
批量加工有更多的动力。要了解更多信息,请阅读https://blogs.oracle.com/oraclemagazine/bulk-processing-with-bulk-collect-and-forall
1.不需要先数几列!数组包括计数方法
2. PL/SQL关联数组索引从1开始,而不是零
3.您可以使用批量处理将行选择到数组中
还要注意: l_array声明为类型,而不是变量。
解决此问题的最简单方法是:
-用数组类型声明一个变量
-批量将查询收集到此变量中
-如果要查看其中的值,请从1循环到ARR.COUNT并输出它们
所有这些都给出了:
create table t ( c1 int, c2 date, c3 varchar2(10) ); set serveroutput on declare type t_array is table of varchar2(30) index by pls_integer; l_array t_array; begin select column_name bulk collect into l_array from user_tab_columns where table_name='T'; FOR i IN 1 .. l_array.count LOOP dbms_output.put_line('Das Array hat '|| l_array(i) ); END LOOP; end; / Das Array hat C1 Das Array hat C2 Das Array hat C3复制
批量加工有更多的动力。要了解更多信息,请阅读https://blogs.oracle.com/oraclemagazine/bulk-processing-with-bulk-collect-and-forall
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
672次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
632次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
539次阅读
2025-04-20 10:07:02
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
489次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
483次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
465次阅读
2025-04-30 12:17:56
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
464次阅读
2025-04-22 00:13:51
火焰图--分析复杂SQL执行计划的利器
听见风的声音
412次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
371次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
350次阅读
2025-05-05 19:28:36