Ir para o conteúdo
filipelou

trigger sql server

Mensagens Recomendadas

filipelou    0
filipelou

Olá.Eu tenho este trigger para verificar se o campo tipo é preenchido com Normal ou Administrador no sql server

CREATE TRIGGER tr_Utilizador_I on Utilizador FOR INSERT AS

    IF tipo<>"Administrador" OR tipo<>"Normal"

    BEGIN

        RAISERROR ('Tipo de Utilizador Incorrecto', 16, 1)

        ROLLBACK TRAN

        RETURN

    END

GO

mas dá-me os seguintes erros:

Msg 207, Level 16, State 1, Procedure tr_Utilizador_I, Line 2

Invalid column name 'tipo'.

Msg 207, Level 16, State 1, Procedure tr_Utilizador_I, Line 2

Invalid column name 'Administrador'.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vitortomaz    1
vitortomaz

queres mesmo que o campo seja preenchido com esse texto?

ou queres ter uma tabela com tipos de utilizadores e na tabela de utilizadores teres uma chave estrangeira para a tabela de tipos de utilizador? :P

andar a repetir "strings" não é muito bom ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vitortomaz    1
vitortomaz

mas experimenta isto a ver o que dá

CREATE TRIGGER tr_Utilizador_I on Utilizador 
AFTER INSERT
AS
DECLARE @tipo CHAR(20)
SELECT @tipo = NomeDoCampo FROM INSERTED

    IF (@tipo<>'Administrador' OR tipo<>'Normal')
    BEGIN
        RAISERROR ('Tipo de Utilizador Incorrecto', 16, 1)
        ROLLBACK TRAN
        RETURN
    END
GO

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade