Firebird - Fazendo Um Loop Nas Tabelas Usando o Execute Statment
-
Upload
itamar-apucarana -
Category
Documents
-
view
7 -
download
1
description
Transcript of Firebird - Fazendo Um Loop Nas Tabelas Usando o Execute Statment
Fazendo um Loop nas Tabelas usando o Execute Statment
Fazendo um Loop nas Tabelas usando o Execute Statment
Imagine o Cenrio vc no sabe em qual tabela esta a menor data de um certo campo, e precisamos fazer um Loop nas tabelas para descobrirmos qual a data menor.
TabelasCampo
Documento1DataInicialDocumento2DataInicialDocumento3DataInicialDocumento4DataInicial
CREATE PROCEDURE SP_DOCUMENTO_MENORDATARETURNS (OPDATAFINAL DATE)ASDECLARE VARIABLE VNOMETABELA VARCHAR(100);DECLARE VARIABLE VDATAINICIAL DATE;DECLARE VARIABLE VSQL VARCHAR(1000);beginOPDATAFINAL = CURRENT_DATE;FORSELECT DISTINCT T.RDB$RELATION_NAME TABELAFROM RDB$USER_PRIVILEGES TWHERE T.RDB$RELATION_NAME NOT LIKE RDB$% AND T.RDB$OBJECT_TYPE=0 AND T.RDB$RELATION_NAME LIKE DOCUMENTO%ORDER BY 1INTO :VNOMETABELADOBEGINVSQL = ;VSQL = SELECT MIN(DATAINICIAL) FROM || :VNOMETABELA;EXECUTE STATEMENT VSQL INTO :VDATAINICIAL;IF (:VDATAINICIAL < :OPDATAFINAL) THENBEGINOPDATAFINAL = :VDATAINICIAL;ENDENDend