Ir para conteúdo
Fórum Script Brasil
  • 0

Procedure para alteração de campo


Zeusyoshino

Pergunta

Equipe.

Boa tarde.
Sou novo aqui no fórum e precisado da ajuda de vocês!
Tenho um projeto de Java pra WEB onde usamos JDBC para criação de um banco no Phpmyadmin, o CRUD já está feito com todas as DAO e Beans. Um dos requisitos deste projeto é que o módulo deve ter uma data de validade (atributo já colocado na tabela Modulo), quando a data de validade dele vencer, o status do módulo deve ser trocado para inativo, ou seja, mudar o valor de 1 para 0, para que ele possa fechar sozinho, caso o professor esqueça de fecha-lo.
A logica que eu pensei foi na seguinte, se a data atual do sistema for depois da validade do módulo, eu mudo o modu_status para 0.
Só que essa Procedure tem que ser disparada toda 00:00, não é algo que eu consiga controlar pelo código no Java, é algo que o banco tenha que fazer sozinho.
O problema é que eu nunca fiz uma Procedure, alguém tem algum esqueleto que faça algo parecido e eu possa adaptar para o meu código ?
Uma Procedure é a unica maneira de fazer isso ? Posso fazer de outra forma ?
Abaixo tem as Querys de criação do banco de dados, desde já agradeço a atenção de vocês.

 

 

 

CREATE TABLE Professor(

 

prof_username VARCHAR(20) NOT NULL,

prof_senha VARCHAR(20) NOT NULL,

prof_status INT(1) NOT NULL,

prof_senhavenc DATE NOT NULL,

prof_nome VARCHAR(50),

prof_especialidade VARCHAR(30) NOT NULL,

prof_nivel VARCHAR(3) NOT NULL,

prof_cargahoraria INT (2) NOT NULL,

 

CONSTRAINT prof_username_pk PRIMARY KEY (prof_username)

 

);


 

CREATE TABLE Secretaria(

 

secr_username VARCHAR(20) NOT NULL,

secr_senhavenc DATE NOT NULL,

secr_status INT(1) NOT NULL,

secr_senha VARCHAR(20),

   secr_nome VARCHAR(50),

   

 

CONSTRAINT secr_username_pk PRIMARY KEY (secr_username)

 

);


 

CREATE TABLE Aluno(

 

alun_ra INT(6) NOT NULL,

alun_nome VARCHAR(50) NOT NULL,

alun_senha VARCHAR(20) NOT NULL,

alun_condpaga VARCHAR(20),

   alun_datamat DATE,
alun_senhavenc DATE,

alun_status INT(1),

   

 

CONSTRAINT alun_ra_pk PRIMARY KEY (alun_ra)

   

 

);

 

CREATE TABLE Solicitacao(

 

soli_cod INT(4) NOT NULL,

soli_dataped DATE NOT NULL,

soli_status INT(1) NOT NULL,

soli_alun_ra INT(6) NOT NULL,

soli_dataemi DATE NOT NULL,

 

CONSTRAINT soli_cod_pk PRIMARY KEY (soli_cod)

);

 

CREATE TABLE ProfessorModulo(

 

pm_prof_user VARCHAR(20) NOT NULL,

pm_cod INT NOT NULL,

pm_modu_cod INT NOT NULL,

 

CONSTRAINT pm_cod_pk PRIMARY KEY (pm_cod),

CONSTRAINT pm_prof_user_fk FOREIGN KEY (pm_prof_user) REFERENCES Professor (prof_username)

);


 

CREATE TABLE Curso(

 

curs_cod INT(4) NOT NULL,

curs_nome VARCHAR(20) NOT NULL,

curs_idioma VARCHAR(20) NOT NULL,

 

CONSTRAINT curs_cod PRIMARY KEY (curs_cod)

 

);

 

CREATE TABLE Modulo(

 

modu_cod INT(4) NOT NULL,

modu_nome VARCHAR(100),

modu_nivel VARCHAR(3) NOT NULL,

modu_horario VARCHAR(50),

   modu_status INT(1),

   modu_conteudo VARCHAR(100),

   modu_preco FLOAT(7,2),

   modu_cargahoraria INT(2),

   modu_pubalvo VARCHAR(20),

   modu_validade DATE,

   modu_curs_cod INT(4),

   

 

CONSTRAINT modu_cod_pk PRIMARY KEY (modu_cod),

   CONSTRAINT modu_curs_cod_fk FOREIGN KEY (modu_curs_cod) REFERENCES Curso (curs_cod)

 

);

 

CREATE TABLE Parcela(

 

parc_cod INT(4) NOT NULL,

parc_datavenc DATE NOT NULL,

parc_precototal FLOAT(7,2) NOT NULL,

parc_desconto FLOAT(7,2) NOT NULL,

parc_precofinal FLOAT(7,2) NOT NULL,

parc_num INT(4) NOT NULL,

parc_alun_ra INT(6) NOT NULL,

parc_modu_cod INT(4) NOT NULL,

 

CONSTRAINT parc_cod_pk PRIMARY KEY (parc_cod),

   CONSTRAINT parc_alun_ra_fk FOREIGN KEY (parc_alun_ra) REFERENCES Aluno (alun_ra),

   CONSTRAINT parc_modu_cod_fk FOREIGN KEY (parc_modu_cod) REFERENCES Modulo (modu_cod)

);

 

CREATE TABLE AlunoModulo(

 

am_cod INT(4) NOT NULL,

am_alun_ra INT(6) NOT NULL,

am_modu_cod INT(4) NOT NULL,

am_status INT(1) NOT NULL,

am_faltas INT(3) NOT NULL,

am_conceparc CHAR(1) NOT NULL,

am_concefinal CHAR(1) NOT NULL,

am_datamat DATE NOT NULL,


 

CONSTRAINT am_cod_pk PRIMARY KEY (am_cod),

   CONSTRAINT am_alun_ra_fk FOREIGN KEY (am_alun_ra) REFERENCES Aluno (alun_ra),

   CONSTRAINT am_modu_cod_fk FOREIGN KEY (am_modu_cod) REFERENCES Modulo (modu_cod)

);

Editado por Zeusyoshino
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...