none
Stored Procedure que verifica dados e insere registros RRS feed

  • Pergunta

  • Olá Senhores,

    O cenário é o seguinte. Estou elaborando um sistema de eLearning que irá informar os treinamentos por lotação de trabalho. Para que o trabalho fique automatizado, determinou-se que os treinamentos deveriam ser realizados anualmente. No banco de dados já tenho uma estrutura da tabela o qual armazena o ID do treinamento, o ID da lotação de trabalho, e a Data do ultimo treinamento.

    Em cima dessa estrutura, quero montar uma consulta SQL que irá verificar todos os treinamentos que foram realizados a um ano atrás. Com o resultado dessa consulta, eu quero inserir um novo registro para aquele treinamento.

    Meu sistema irá identificar isso e informar no eLearning que os funcionários daquela Lotação terão de fazer a reciclagem.

    Minha dúvida é, Como fazer uma SP que irá verificar os registros de treinamentos que foram realizados a um ano e inserir um registro para este treinamento para esta lotação.

    segunda-feira, 16 de dezembro de 2013 12:03

Respostas

  • Max,

    Acredito que você deve ter alguma coluna que guarda a data de conclusão do treinamento, como também, uma coluna que apresente o Status deste treinamento!!!

    Na sua Stored Procedure você deverá criar uma parâmetro de entrada de valores, onde o usuário deverá informar o ano e utilizar este parâmetro de entrada como variável na sua Stored Procedure na claúsula de filtragem de dados.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 15:00
    sexta-feira, 20 de dezembro de 2013 15:43

Todas as Respostas

  • Passe a estrutura da tabela numa script create table com alguns dados e faça exemplo nesses dados!

    Seria por ano somente ou por data em completo!

    Exemplo ano anterior ao nosso seria 2012

                  data anterior ao nossa seria 16/12/2012 

    seria como visto que isso podemos pegar alguns registro ou nenhum?


    Fulvio Cezar Canducci Dias

    segunda-feira, 16 de dezembro de 2013 12:19
  • Temos a tabela com os campos:

    IDTURMA, IDTREINAMENTO, IDLOTACAO, DTINITURMA 

    O que quero fazer é uma select com a condição onde vai me retornar todos os IDTURMA que tiverem o DATEDIFF(D, BEGIN_DATE, END_DATE) = 365 (Não tem problema quando ocorrer ano bissexto).

    Até aqui tudo bem. Agora a minha dúvida é como da um insert em uma tabela com cada resultado dessa sql.

    segunda-feira, 16 de dezembro de 2013 16:53
  • INSERT INTO <TABELA>  (<CAMPO1>,<CAMPO2>)
    SELECT <CAMPO1>,<CAMPO2> FROM
    <TABELAX> WHERE <CONDIÇÕES>

    Isso deve resolver seu problema.
    Apenas salientando que os campos do select e do insert devem ter os mesmo nomes (no caso do select pode-se atribuir o alias).

    Abraço!


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    • Marcado como Resposta Max Soares terça-feira, 17 de dezembro de 2013 10:31
    • Não Marcado como Resposta Max Soares quinta-feira, 19 de dezembro de 2013 16:22
    segunda-feira, 16 de dezembro de 2013 16:58
  • É por aí...

    Agora vejo que minha necessidade está em, além de inserir dados em uma tabela, preciso alimentar uma outra tabela de acordo com o ID de cada registro da primeira tabela preenchida. Exemplo:

    Vou cadastrar Turmas de acordo com a data da última turma criada. No entanto, além de criar a turma, preciso adicionar na tabela PARTICIPANTES, os funcionários que irão participar de cada turma. 

    Como faço para inserir os participantes também?

    quarta-feira, 18 de dezembro de 2013 16:39
  • Max,

    Acredito que você deve ter alguma coluna que guarda a data de conclusão do treinamento, como também, uma coluna que apresente o Status deste treinamento!!!

    Na sua Stored Procedure você deverá criar uma parâmetro de entrada de valores, onde o usuário deverá informar o ano e utilizar este parâmetro de entrada como variável na sua Stored Procedure na claúsula de filtragem de dados.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 15:00
    sexta-feira, 20 de dezembro de 2013 15:43