[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