GustavoCruz
24-10-2013, 19:48:13
Hola amigos del foro, tengo la siguiente tabla
SET SQL DIALECT 3;
/******************************************************************************/
/* Tables */
/******************************************************************************/
CREATE GENERATOR GEN_CUM_ID;
CREATE TABLE CUM (
IDE CODIGONUMERICO NOT NULL /* CODIGONUMERICO = INTEGER NOT NULL */,
PRODUCTO T240 /* T240 = VARCHAR(240) */,
TITULAR T240 /* T240 = VARCHAR(240) */,
REGISTROSANITARIO T240 /* T240 = VARCHAR(240) */,
FECHAEXPEDICION T240 /* T240 = VARCHAR(240) */,
FECHAVENCIMIENTO T240 /* T240 = VARCHAR(240) */,
ESTADOREGISTRO T240 /* T240 = VARCHAR(240) */,
EXPEDIENTECUM T240 /* T240 = VARCHAR(240) */,
CONSECUTIVOCUM NUMERO /* NUMERO = INTEGER */,
CANTIDADCUM NUMERO /* NUMERO = INTEGER */,
PRESENTACIONCOMERCIALCUM T240 /* T240 = VARCHAR(240) */,
ESTADOCUM T240 /* T240 = VARCHAR(240) */,
FECHAACTIVO T240 /* T240 = VARCHAR(240) */,
FECHAINACTIVO T240 /* T240 = VARCHAR(240) */,
UNIDAD T240 /* T240 = VARCHAR(240) */,
ATC T240 /* T240 = VARCHAR(240) */,
DESCRIPCIONATC T240 /* T240 = VARCHAR(240) */,
VIAADMINISTRACION T240 /* T240 = VARCHAR(240) */,
CONCENTRACION T240 /* T240 = VARCHAR(240) */,
PRINCIPIOACTIVO T240 /* T240 = VARCHAR(240) */,
UNIDADMEDIDA T240 /* T240 = VARCHAR(240) */,
CANTIDAD NUMERO /* NUMERO = INTEGER */,
UNIDADDEREFERENCIA T240 /* T240 = VARCHAR(240) */,
FORMAFARMACEUTICA T240 /* T240 = VARCHAR(240) */,
FABRICANTEIMPORTADOR T480 /* T480 = VARCHAR(480) */,
MODALIDAD T240 /* T240 = VARCHAR(240) */
);
/******************************************************************************/
/* Primary Keys */
/******************************************************************************/
ALTER TABLE CUM ADD PRIMARY KEY (IDE);
/******************************************************************************/
/* Triggers */
/******************************************************************************/
SET TERM ^ ;
/******************************************************************************/
/* Triggers for tables */
/******************************************************************************/
/* Trigger: CUM_BI */
CREATE OR ALTER TRIGGER CUM_BI FOR CUM
ACTIVE BEFORE INSERT POSITION 0
as
begin
if ((new.ide = 0)or(new.ide is null)) then
new.ide = gen_id(gen_cum_id, 1);
end
^
SET TERM ; ^
Dicha tabla almacena 181023 registros, necesito hacer una consulta por los siguientes campos: REGISTROSANITARIO, TITULAR, PRODUCTO, DESCRIPCIONATC
pero utilizando una sola caja de texto pensé en lo siguiente select * from CUM where upper(REGISTROSANITARIO||TITULAR||PRODUCTO||DESCRIPCIONATC) like '%textoabuscar%'
pero eso tarda demasiado, si alguien me puede ayudar con el asunto se lo agradecería muchísimo...
Gracias por vuestro tiempo
GustavoCruz
SET SQL DIALECT 3;
/******************************************************************************/
/* Tables */
/******************************************************************************/
CREATE GENERATOR GEN_CUM_ID;
CREATE TABLE CUM (
IDE CODIGONUMERICO NOT NULL /* CODIGONUMERICO = INTEGER NOT NULL */,
PRODUCTO T240 /* T240 = VARCHAR(240) */,
TITULAR T240 /* T240 = VARCHAR(240) */,
REGISTROSANITARIO T240 /* T240 = VARCHAR(240) */,
FECHAEXPEDICION T240 /* T240 = VARCHAR(240) */,
FECHAVENCIMIENTO T240 /* T240 = VARCHAR(240) */,
ESTADOREGISTRO T240 /* T240 = VARCHAR(240) */,
EXPEDIENTECUM T240 /* T240 = VARCHAR(240) */,
CONSECUTIVOCUM NUMERO /* NUMERO = INTEGER */,
CANTIDADCUM NUMERO /* NUMERO = INTEGER */,
PRESENTACIONCOMERCIALCUM T240 /* T240 = VARCHAR(240) */,
ESTADOCUM T240 /* T240 = VARCHAR(240) */,
FECHAACTIVO T240 /* T240 = VARCHAR(240) */,
FECHAINACTIVO T240 /* T240 = VARCHAR(240) */,
UNIDAD T240 /* T240 = VARCHAR(240) */,
ATC T240 /* T240 = VARCHAR(240) */,
DESCRIPCIONATC T240 /* T240 = VARCHAR(240) */,
VIAADMINISTRACION T240 /* T240 = VARCHAR(240) */,
CONCENTRACION T240 /* T240 = VARCHAR(240) */,
PRINCIPIOACTIVO T240 /* T240 = VARCHAR(240) */,
UNIDADMEDIDA T240 /* T240 = VARCHAR(240) */,
CANTIDAD NUMERO /* NUMERO = INTEGER */,
UNIDADDEREFERENCIA T240 /* T240 = VARCHAR(240) */,
FORMAFARMACEUTICA T240 /* T240 = VARCHAR(240) */,
FABRICANTEIMPORTADOR T480 /* T480 = VARCHAR(480) */,
MODALIDAD T240 /* T240 = VARCHAR(240) */
);
/******************************************************************************/
/* Primary Keys */
/******************************************************************************/
ALTER TABLE CUM ADD PRIMARY KEY (IDE);
/******************************************************************************/
/* Triggers */
/******************************************************************************/
SET TERM ^ ;
/******************************************************************************/
/* Triggers for tables */
/******************************************************************************/
/* Trigger: CUM_BI */
CREATE OR ALTER TRIGGER CUM_BI FOR CUM
ACTIVE BEFORE INSERT POSITION 0
as
begin
if ((new.ide = 0)or(new.ide is null)) then
new.ide = gen_id(gen_cum_id, 1);
end
^
SET TERM ; ^
Dicha tabla almacena 181023 registros, necesito hacer una consulta por los siguientes campos: REGISTROSANITARIO, TITULAR, PRODUCTO, DESCRIPCIONATC
pero utilizando una sola caja de texto pensé en lo siguiente select * from CUM where upper(REGISTROSANITARIO||TITULAR||PRODUCTO||DESCRIPCIONATC) like '%textoabuscar%'
pero eso tarda demasiado, si alguien me puede ayudar con el asunto se lo agradecería muchísimo...
Gracias por vuestro tiempo
GustavoCruz