none
Criando uma Regra no SQL Server 2008 RRS feed

  • Pergunta

  • Boa noite !!

     Tenho uma Tabela Ti_Documento_Rec que ao ser alimentada aparece o Campo Cod_Status = NP. 

    Estou precisando criar uma regra no BD que ao ser inserida essa informação nessa tabela  TI_Documento_Rec  o campo Cod_Status=NP (Esse Campo Passa a receber o valor NP).   Mas só pode ser modificado se o Campo Tipo_Doc=8

    Ex:  O sistema gera nessa Tabela.

    AutoID = 001

    Contrato =13344

    Valor = 500,00

    Cod_Status = NP

    Tipo_Doc=8

    Quero que o Banco de Dados faça quando aparecer um novo insert fica desse jeito

    AutoID = 001

    Contrato = 13344

    Valor = 500,00

    Cod_Status = P

    Tipo_Doc = 8

    Muito Obrigado!!!!

    quinta-feira, 7 de fevereiro de 2013 22:29

Todas as Respostas

  • Mirto09,

    Minha sugestão, crie normalmente a sua Table e vincule uma trigger em sua table que fará este processo de verificar o valor informado no coluna Tipo_Doc atualizando o campo Cod_Status para NP.

    Veja este exemplo:

    CREATE TABLE Valores
    (AutoID Varchar(3),
     Valor Float,
     Valor1 Float,
     Tipo_Doc Int,
     Cod_Status Char(2) Constraint DF_Cod_Status Default ''
    )
    
    Create Trigger T_Valores
    On Valores
    For Insert, Update
    As
    Begin
     
      If (Select Tipo_Doc from inserted) = 8
      
       Update Valores
       Set Cod_Status = 'NP'
       From Valores V Inner Join Inserted I
                                    On V.AutoID = I.AutoID   
     
    End
    
    Insert Into Valores Values ('001',100,100,1,'pn')
    
    Insert Into Valores (AutoID, Valor, Valor1, Tipo_Doc)
    Values ('002',100,100,8)
    
    
    Select * from Valores


    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]

    sexta-feira, 8 de fevereiro de 2013 16:47