[PL/SQL]Variablen 'automatisch' declare/nummerier?

Hallo,

ist es eigentlich möglich, in PL/SQL Variablen mit einer „for…i“ Schleife automatisch zu deklarieren?
Im Klartext: Ich habe mehrere Variablen, die alle einen ähnlichen Sinn haben und daher Name_1, Name_2… Name_x heissen sollen. Wäre das möglich mit „i“ und i=50 ?

Thx den Antwortenden!

o

PL/SQL-Tables oder Collections…
Hallo,

so wie du dir das vorstellst, et das nicht. Aber: Für diesen Anwendungsfall gibt es in Programmiersprachen Arrays, auch in PL/SQL. Zwei Varianten: PL/SQL-tables (gibt’s schon seit 7.x), ab 8i sind Collections dazugekommen (im Zusammenhang mit objektrelationalen features). Funktionieren im wesentlichen ähnlich, jedoch kann man Collections persistent in der DB ablegen.

Beispiel mit PL/SQL-tables zum Ausprobieren:

SET SERVEROUTPUT ON
DECLARE
 TYPE NumberTableType IS TABLE OF NUMBER INDEX BY BINARY\_INTEGER;
 vtab\_Test NumberTableType;
 v\_Index BINARY\_INTEGER;
BEGIN
 FOR v\_loop IN 1..10 LOOP
 vtab\_Test (v\_loop) := v\_loop + 100;
 END LOOP;

 v\_Index := vtab\_Test.FIRST;
 WHILE v\_Index IS NOT NULL LOOP
 DBMS\_OUTPUT.PUT\_LINE ('vtab\_Test (' || v\_Index || '): ' || vtab\_Test (v\_Index)); 
 v\_Index := vtab\_Test.NEXT (v\_Index);
 END LOOP;
END;
/

ciao,
Bernhard