none
Ajuda com trigger RRS feed

  • Pergunta

  • Olá,

     

    Estou tentando construir uma trigger porém, estou com problemas. Segue o código:

     

    create trigger tSituacaoFuncionario on tbAdmissao

    for insert

    as

    begin

    insert into tbSituacaoFuncionario

    (

         idFunc,

        Situacao,

        DataCadastro

    )

    select idFunc, 'A', DataCadastro from inserted

    end

    go

     

    preciso insert os dados do select na tabela tbSituacaoFuncionario sendo que idFunc e DataCadastro vem da tabela tbAdmissao.

     

    Erro:

    Msg 207, Level 16, State 1, Procedure tSituacaoFuncionario, Line 9

    Invalid column name 'DataCadastro'.

     

    Alguma dica ????

     

    Obrigado.

     

    terça-feira, 4 de março de 2008 03:25

Respostas

  • Gilberto,

     

    Então é no comando de Insertq que esta ocorrendo o erro!!!

     

    Observe que você esta fazendo um Select na table tbadmissao e o Insert na outra table tbSituacaoFuncionario, é isso mesmo?

    terça-feira, 4 de março de 2008 12:17

Todas as Respostas

  • Gilberto,

     

    Esta coluna DataCadastro existe?

    terça-feira, 4 de março de 2008 11:05
  • Olá

    Junior,

     

    Existe sim ela é do tipo smalldatetime.....

    terça-feira, 4 de março de 2008 11:36
  • Gilberto,

     

    Executando somente o select o SQL Server retorna algum erro?

    terça-feira, 4 de março de 2008 11:44
  • Então,

     

    Fiz dosi testes:

     

    1 -

    select idFunc, 'A', DataCadastro from tbAdmissao

    nesse teste funcionou ou seja retornou os registros

     

     

    2 -

    insert into tbSituacaoFuncionario

    (

         idFunc,

        Situacao,

        DataCadastro

    )

    values

    (

        2, 'A', cast('03/03/2008' as smalldatetime)

    )

     

    erro:

    Msg 207, Level 16, State 1, Line 1

    Invalid column name 'DataCadastro'.

    terça-feira, 4 de março de 2008 11:52
  • Gilberto,

     

    Então é no comando de Insertq que esta ocorrendo o erro!!!

     

    Observe que você esta fazendo um Select na table tbadmissao e o Insert na outra table tbSituacaoFuncionario, é isso mesmo?

    terça-feira, 4 de março de 2008 12:17
  • Sim...isso mesmo eu preciso pregar esses dados que vem da tabela tbAdmissao e gravar na tabela tbSituacaoFuncionario.

     

    Obrigado.

    terça-feira, 4 de março de 2008 12:27
  • Olá Junior,

     

    Consegui resolver o problema com sua dica para testar os SQL´s separados. Quando fiz isso, descobri que o problemas era no Select, etnão resolvi criar outra coluna na tabela chamada nData testei o insert e funcionou dai percebi que o prblema era a coluna DataCadastro foi só excluir e recria-la e o processo funcionou.

     

    Obrigado.

    terça-feira, 4 de março de 2008 15:04