Ahora estaba buscando informacion sobre arrays en firebird (uso la 2.5) aunq en anteriores tambien se ecuentra esta informacion
la forma en la cual los implemento es
Código SQL
[-]
CREATE DOMAIN D_ARRAY_TEXT AS VARCHAR(20)[4];
donde VARCHAR(20) es el tipo de elementos
[4] las dimensiones de arreglo
[m, n] en caso de ser bidimensional
si se quiere usar como campo de un tabla el modo de asignar esta en
USING ARRAYS IN PSQL, otros ejemplos de usos en firebird con FIBPlus estan en sus
ejemplos.
ahora si les pongo mi consulta, estoy intentado hacer un procedimiento en el cual paso un parametro como arreglo, el problema esta en como leer el arreglo ingresado
Código SQL
[-]
CREATE DOMAIN D_ARRAY_TEXT AS VARCHAR(20)[4];
...
SET TERM ^ ;
CREATE OR ALTER PROCEDURE BUSCADOR (
P_NOMBRES TYPE OF D_ARRAY_TEXT )
RETURNS (
RECORDS_FOUND INTEGER )
AS
DECLARE NOMBRE1 VARCHAR(20);
DECLARE NOMBRE2 VARCHAR(20);
DECLARE NOMBRE3 VARCHAR(20);
DECLARE NOMBRE4 VARCHAR(20);
BEGIN
NOMBRE1 = P_NOMBRES[1];
NOMBRE2 = P_NOMBRES[2];
NOMBRE3 = P_NOMBRES[3];
NOMBRE4 = P_NOMBRES[4];
SELECT
COUNT(*)
FROM
USUARIOS
WHERE
(:NOMBRE1 IS NULL OR NOMBRE LIKE '%' || :NOMBRE1 || '%')
AND (:NOMBRE2 IS NULL OR NOMBRE LIKE '%' || :NOMBRE2 || '%')
AND (:NOMBRE3 IS NULL OR NOMBRE LIKE '%' || :NOMBRE3 || '%')
AND (:NOMBRE4 IS NULL OR NOMBRE LIKE '%' || :NOMBRE4 || '%')
INTO :RECORDS_FOUND;
SUSPEND;
END^
SET TERM ; ^
si alguien tiene informacion de como usarlos en psql, agradeceria su ayuda.