Criar função para agendamento no postgres com plpgsql
Olá pessoal! Estou tentando resolver o seguinte exercício mas estou meio perdido na sintaxe do plpgsql, e gostaria de ver uma resposta pronta para eu poder entender melhor.
Estrutura da tabela:
Nome: agendamento
id SERIAL NOT NULL PRIMARY KEY,
cliente VARCHAR (50),
inicio TIMESTAMP,
termino TIMESTAMP
/*
-> Premissas:
- Expediente: 8:00 até 12:00; 13:30 até 17:30;
- Não há expediente no sábado e domingo;
- Não é permitido que um agendamento ultrapasse o horário do expediente
(exemplo: o agendamento que inicia às 11:50 e finaliza às 12:10 e não é válido);
- Não é permitido a sobreposição de horário entre agendamentos.
-> Crie uma função chamada "agendaHorario" que receba os seguintes parâmetros:
-timestamp com a data de início do agendamento;
-integer com a duração (em minutos do agendamento);
-varchar(50) com o nome do cliente.
-> A função deve, se possível, inserir um agendamento para o cliente na tabela e retornar:
-True quando for possível inserir o agendamento, respeitando as premissas;
-False quando não for possível.
*/
Estrutura da tabela:
Nome: agendamento
id SERIAL NOT NULL PRIMARY KEY,
cliente VARCHAR (50),
inicio TIMESTAMP,
termino TIMESTAMP
/*
-> Premissas:
- Expediente: 8:00 até 12:00; 13:30 até 17:30;
- Não há expediente no sábado e domingo;
- Não é permitido que um agendamento ultrapasse o horário do expediente
(exemplo: o agendamento que inicia às 11:50 e finaliza às 12:10 e não é válido);
- Não é permitido a sobreposição de horário entre agendamentos.
-> Crie uma função chamada "agendaHorario" que receba os seguintes parâmetros:
-timestamp com a data de início do agendamento;
-integer com a duração (em minutos do agendamento);
-varchar(50) com o nome do cliente.
-> A função deve, se possível, inserir um agendamento para o cliente na tabela e retornar:
-True quando for possível inserir o agendamento, respeitando as premissas;
-False quando não for possível.
*/
Carlos Uhlmann
Curtidas 0