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

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

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

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

我假设可能有这种模式.

解决方法

只是为了完整性,一个纯粹的PL / sql解决方案.
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数据类型,它具有相当大的定义……

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

sql>

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

猜你在找的MsSQL相关文章