• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

5 mensagens neste tópico

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'.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado mas fiz uma constraint assim:tipo in('Administrador','Normal')

0

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