[firebase-br] Stored Procedure com Erro

Fortes Marcelo marcelosoftware em yahoo.com.br
Qua Jul 20 22:09:58 -03 2005


só para corrigir esta é a Stored Procedure descartem a menssagem anterior



Olá Amigos !

Tenho uma Stored Procedure que não está funcionando.

Tenho uma tabela onde eu cadastro o agendamento de determinado material para determinada hora e sala porém alguns materiais são únicos e eu gostaria de prevenir que o mesmo material fosse agendado para uma sala diferente dentro de um horário de outro agendamento já previamente cadastrado por outro usuário ou seja não poder agendar algo que já está agendado. Por exemplo se eu tiver um material digamos DataShow e se alguém agendou o DataShow para sala 101 das 13:00 às 15:00 eu gostaria que não fosse agendado por outro neste mesmo intervalo de horas pro mesmo dia. Até aí a lógica tudo bem mas no IBConsole ele está sempre me retornando erro e parser no primeiro IF

A procedure segue como abaixo.

CREATE PROCEDURE RESERVA (
    LOCAL VARCHAR(50),
    HORAFIM TIME,
    HORAINICIO TIME,
    DATACORR DATE,
    DATA DATE,
    DISCIPLINA VARCHAR(50),
    REQUISITANTE VARCHAR(50),
    MATERIAL VARCHAR(50),
    CURSO VARCHAR(50))
RETURNS (
    SUCESSO VARCHAR(50),
    JACADASTRADO VARCHAR(50))
AS
DECLARE VARIABLE CURDATE DATE;
begin
  SELECT current_date FROM RDB$_Database into :CurDate;

  SELECT
      PK_CODAGENDAMENTO, MATERIAL, REQUISITANTE, DISCIPLINA, DATA, HORAINICIO, HORAFIM,
      LOCAL, CURSO
  FROM
    TBL_AGENDARMATERIAIS
  WHERE DATA >= :CurDate;

  IF NOT(MATERIAL IS NULL)THEN
  BEGIN
      IF (MATERIAL = Material) AND (DATA = Data) THEN
      BEGIN
        IF (:horainicio >= HORAINICIO) OR (:horafim <= HORAFIM) THEN
           EXCEPTION MATERIAL_JA_CADASTRADO;
        ELSE
           INSERT INTO TBL_AGENDARMATERIAIS
                  (MATERIAL, REQUISITANTE, DATA, HORAINICIO, HORAFIM, LOCAL, CURSO)
           VALUES (:material, :requisitante, :data, :horainicio, :horafim, :local, :curso);
      END
  END
  ELSE
  BEGIN
      INSERT INTO TBL_AGENDARMATERIAIS
           (MATERIAL, REQUISITANTE, DATA, HORAINICIO, HORAFIM, LOCAL, CURSO)
      VALUES (:material, :requisitante, :data, :horainicio, :horafim, :local, :curso);
  END;
  SUSPEND;
end;

 


__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger 
http://br.download.yahoo.com/messenger/ 


Mais detalhes sobre a lista de discussão lista