[firebase-br] AJUDA NA STORED PROCEDURE ABAIXO - ME AJUDEM.
Lucio - UniData®
luciocobo em terra.com.br
Seg Set 11 12:05:06 -03 2006
Ai Rubens ajo que é isso
CREATE PROCEDURE TESTE (
E_DATAINI DATE,
E_DATAFIM DATE)
RETURNS (
S_DIASEMANA INTEGER,
S_DATA DATE)
AS
DECLARE VARIABLE V_DIA INTEGER;
DECLARE VARIABLE V_FERIADO INTEGER;
BEGIN
WHILE (E_DATAFIM > E_DATAINI) DO
BEGIN
SELECT COUNT(1) FROM FERIADOS WHERE DATA =:E_DATAINI INTO :V_FERIADO;
V_DIA=EXTRACT(WEEKDAY FROM E_DATAINI);
if (:V_FERIADO IS NULL) then begin
S_DIASEMANA=V_DIA;
S_DATA=E_DATAINI;
SUSPEND;
END
else if (V_DIA <>0 AND V_DIA<>6) THEN
BEGIN
S_DIASEMANA=V_DIA;
S_DATA=E_DATAINI;
SUSPEND;
END
E_DATAINI=E_DATAINI+1;
END
END
----- Original Message -----
From: "Rubens J Rodrigues" <rubens.rodrigues em abrevo.com.br>
To: <lista em firebase.com.br>
Sent: Monday, September 11, 2006 9:30 AM
Subject: [firebase-br] AJUDA NA STORED PROCEDURE ABAIXO - ME AJUDEM.
Pessoal,
Tenho cenário abaixo . . . onde preciso extrair todos os dias realmente
úteis de um determinado período, neste caso passado via parametros.
Porém estou com dificuldades para montar a procedure, ora entro no loop
e fico travo o select, ora o resultado duplica alguns dias.
Então, baseado no codigo abaixo e com a experiência de muitos de vocês,
gostaria de uma ajuda.
A idéia é : Montar uma rotina em sql, onde eu traga no resultado os dias
realmentes úteis dentro de um período especificado via parametros.
Conto com a ajuda de vocês,
Att.
Rubens
TABELA DE FERIADOS.
CODFERIADO INT,
DATAFERIADO DATE
CREATE PROCEDURE TESTE(
E_DATAINI DATE,
E_DATAFIM DATE)
RETURNS(
S_DIASEMANA INTEGER,
S_DATA DATE)
AS
DECLARE VARIABLE V_DIA INTEGER;
DECLARE VARIABLE V_FERIADO INTEGER;
BEGIN
WHILE (E_DATAFIM > E_DATAINI) DO
BEGIN
SELECT COUNT(1) FROM FERIADOS WHERE DATA=:E_DATAINI INTO :V_FERIADO;
IF (:V_FERIADO > 0) THEN
BEGIN
E_DATAINI = E_DATAINI +1;
SUSPEND;
END
V_DIA=EXTRACT(WEEKDAY FROM E_DATAINI);
IF (V_DIA <>0 AND V_DIA<>6) THEN
BEGIN
S_DIASEMANA=V_DIA;
S_DATA=E_DATAINI;
E_DATAINI=E_DATAINI+1;
SUSPEND;
END
END
END
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista