Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mfilho

em criacao de Trigguer

Recommended Posts

tenho a seguinte trigguer no meu banco e esta dando erro de sintaxe nas linhas em vermelho, o erro ocorre nas variaveis que eu criei (as que tem o @ antes), qual seria a sintaxe correta?

 

CREATE TRIGGER BIUOSREALIZADA ON OSREALIZADA

AFTER INSERT, UPDATE

AS

DECLARE @TABELA VARCHAR(20);

DECLARE @NEW_CODPROJETO INT;

DECLARE @NEW_CODSEMENTE INT;

DECLARE @NEW_CODDESTINO INT;

DECLARE @NEW_CHATALHAO INT;

DECLARE @NEW_CODLINHAPROD INT;

BEGIN

SELECT CODPROJETO INTO @NEW_CODPROJETO FROM INSERTED

SELECT CODSEMENTE INTO @NEW_CODSEMENTE FROM INSERTED

SELECT CODDESTINO INTO @NEW_CODDESTINO FROM INSERTED

SELECT CHATALHAO INTO @NEW_CHATALHAO FROM INSERTED

SELECT CODLINHAPROD INTO @NEW_CODLINHAPROD FROM INSERTED

SELECT RTRIM(TABELAAPLICACAO) INTO @TABELA

FROM PLPLINHAPRODUCAO LP,

PLPGRPLINHAPROD GP

WHERE LP.CODGRPLINHAPROD = GP.CODGRPLINHAPROD

AND LP.CODLINHAPROD = @NEW_CODLINHAPROD; IF (@TABELA = 'CADPROJETO') AND (@NEW_CODPROJETO IS NULL)

BEGIN

raiserror 50000 'É necessário informar uma Região'

END

-- SEMENTE

IF (@TABELA = 'PESSEMENTE') AND (@NEW_CODSEMENTE IS NULL)

raiserror 50000 'É necessário informar Semente'

END

-- DESTINO

IF (@TABELA = 'AUXDESTINO') AND (@NEW_CODDESTINO IS NULL)

BEGIN

raiserror 50000 'É necessário informar o Destino'

END

-- TALHAO

IF (@TABELA = 'CADTALHAO') AND (@NEW_CHATALHAO IS NULL)

BEGIN

raiserror 50000 'É necessário informar o Talhão'

END

 

Se alguem tiver alguma dica, agradeço.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

SELECT @NEW_CODPROJETO = CODPROJETO  FROM INSERTED
alias o que se estiver consultando da mesmo tabela pode por tudo no mesmo select

SELECT 	@NEW_CODPROJETO = CODPROJETO,	@NEW_CODSEMENTE = CODSEMENTE,	@NEW_CODDESTINO = CODDESTINO,	@NEW_CHATALHAO = CHATALHAO,	@NEW_CODLINHAPROD = CODLINHAPRODFROM INSERTED

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.