como usar array
me pueden por favor, enviar un ejemplo de como definir, cargar y leer un array, y si puede ser con una breve explicacion. gracias
Existen 2 tipos de arreglos
•Arreglo tabla
•Arreglo Registro
Arreglo tabla
Se debe declarar el arreglo, el tipo de dato (varchar2)dependerá de su utilidad.
Sintaxis
type tipotabla is table of tipo de dato
index by binary_integer;
Ejemplo
type t_nombre is table of varchar2 (50)
index by binary_integer;
-- Se debe declarar una variable de tipo arreglo (arreglo creado)
vnombre t_nombre;
Para asignar un valor en un arreglo se lo puede hacer fijo o mediante un bucle
Sintaxis
Nombretabla(Ãndice)
Ejemplo
fijo
vnombre (1) := ‘Pedro’;
vnombre (2) := ‘juan’;
vnombre (3) := ‘Maria’;
.
.
Con bucle
loop
vnombre (i) := ‘a’ || I;
.
.
.
i := i + 1;
exit when I = 10;
end loop;
Para leer un arreglo lo puedes hacer fijo ó mediante un bucle, asignándole a una variable variable el valor del arreglo indicado mediante el Ãndice
Con bucle
For j in 1..tot_reg loop
variable := vnombre(i);
.
.
.
i := i + 1;
end loop;
Fijo
variable := vnombre (1);
.
.
Arreglo Registro
Se debe declarar el arreglo
Sintaxis
type tipo_registro is record (
campo1 tipo1 [not null][:= expr1]
campo2 tipo2 [not null][:= expr2]
.
.
)
Ejemplo
type t_registro is record (
campo1 number,
campo2 varcha2
)
-- Se debe declarar una variable de tipo arreglo (arreglo creado)
vnombre t_registro;
Para asignar un valor en un arreglo se lo puede hacer fijo o mediante un bucle
Sintaxis
Nombre_registro(indice).campo
Ejemplo
fijo
vnombre(1).campo1 := 1;
vnombre(1).campo2 := ‘juan’;
vnombre(2).campo1 := 2;
vnombre(3).campo2 := ‘marÃa;
.
.
Con bucle
loop
vnombre(i).campo1 := i;
vnombre(i).campo2 := ‘a’ || i;
.
.
.
i := i + 1;
exit when I = 10;
end loop;
Para leer un arreglo lo puedes hacer fijo ó mediante un bucle, asignándole a una variable variable el valor del arreglo indicado mediante el Ãndice
Con bucle
For j in 1..tot_reg loop
variable := vnombre(i).campo1;
.
.
.
i := i + 1;
end loop;
Fijo
variable := vnombre (1).campo1;
.
.
•Arreglo tabla
•Arreglo Registro
Arreglo tabla
Se debe declarar el arreglo, el tipo de dato (varchar2)dependerá de su utilidad.
Sintaxis
type tipotabla is table of tipo de dato
index by binary_integer;
Ejemplo
type t_nombre is table of varchar2 (50)
index by binary_integer;
-- Se debe declarar una variable de tipo arreglo (arreglo creado)
vnombre t_nombre;
Para asignar un valor en un arreglo se lo puede hacer fijo o mediante un bucle
Sintaxis
Nombretabla(Ãndice)
Ejemplo
fijo
vnombre (1) := ‘Pedro’;
vnombre (2) := ‘juan’;
vnombre (3) := ‘Maria’;
.
.
Con bucle
loop
vnombre (i) := ‘a’ || I;
.
.
.
i := i + 1;
exit when I = 10;
end loop;
Para leer un arreglo lo puedes hacer fijo ó mediante un bucle, asignándole a una variable variable el valor del arreglo indicado mediante el Ãndice
Con bucle
For j in 1..tot_reg loop
variable := vnombre(i);
.
.
.
i := i + 1;
end loop;
Fijo
variable := vnombre (1);
.
.
Arreglo Registro
Se debe declarar el arreglo
Sintaxis
type tipo_registro is record (
campo1 tipo1 [not null][:= expr1]
campo2 tipo2 [not null][:= expr2]
.
.
)
Ejemplo
type t_registro is record (
campo1 number,
campo2 varcha2
)
-- Se debe declarar una variable de tipo arreglo (arreglo creado)
vnombre t_registro;
Para asignar un valor en un arreglo se lo puede hacer fijo o mediante un bucle
Sintaxis
Nombre_registro(indice).campo
Ejemplo
fijo
vnombre(1).campo1 := 1;
vnombre(1).campo2 := ‘juan’;
vnombre(2).campo1 := 2;
vnombre(3).campo2 := ‘marÃa;
.
.
Con bucle
loop
vnombre(i).campo1 := i;
vnombre(i).campo2 := ‘a’ || i;
.
.
.
i := i + 1;
exit when I = 10;
end loop;
Para leer un arreglo lo puedes hacer fijo ó mediante un bucle, asignándole a una variable variable el valor del arreglo indicado mediante el Ãndice
Con bucle
For j in 1..tot_reg loop
variable := vnombre(i).campo1;
.
.
.
i := i + 1;
end loop;
Fijo
variable := vnombre (1).campo1;
.
.
