sql – 对于每个字符串,执行一个函数/过程

前端之家收集整理的这篇文章主要介绍了sql – 对于每个字符串,执行一个函数/过程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想遍历一个字符串列表并执行一个函数/过程,每个字符串作为参数.

以下通用代码的最佳替代方法是什么(因为它不合法):

@H_403_4@set serveroutput on; begin FOR r IN ('The','Quick','brown','fox') LOOP dbms_output.put_line( r ); END LOOP; end;

我假设可能有这种模式.

解决方法

只是为了完整性,一个纯粹的PL / sql解决方案. @H_403_4@sql> set serveroutput on sql> sql> declare 2 my_array sys.dbms_debug_vc2coll 3 := sys.dbms_debug_vc2coll('The','fox'); 4 begin 5 for r in my_array.first..my_array.last 6 loop 7 dbms_output.put_line( my_array(r) ); 8 end loop; 9 end; 10 / The Quick brown fox PL/sql procedure successfully completed. sql>

这使用了preredred sys.dbms_debug_vc2coll数据类型,它具有相当大的定义……

@H_403_4@sql> desc sys.dbms_debug_vc2coll sys.dbms_debug_vc2coll TABLE OF VARCHAR2(1000) sql>

……所以,就像加里说的那样,你可能希望宣布自己的.特别是如果你的琴弦很短并且你有很多.

猜你在找的MsSQL相关文章