Pessoal, sou novo no fórum, e este é meu primeiro tópico, também sou novo na linguagem SQL(SQL Server 2000), espero que alguém possa me ajudar, o problema é o seguinte:
Tenho uma tabela1 com 5 campos e uma outra tabela2 com 3 campos,
create table tabela1
(
cod_test int not null,
valor1_test decimal(8,2),
valor2_test decimal(8,2),
valor3_test decimal(8,2),
valor4_test decimal(8,2),
primary key(cod_test)
)GO
create table tabela2
(
cod_test2 int not null,
cod_test int not null,
valor_total decimal(8,2),
valor_total2 decimal(8,2),
primary key(cod_teste),
foreign key(cod_test) references tabela1
)GO
o dilema é: Preciso criar uma Trigger que, quando a tabela1 receber os regitros(INSERT), faça as somas (valor1_test + valor2_test), (valor3_test + valor4_test), e insira na tabela2 nos campos (valor_total, valor_total2), passei o dia com a Trigger aqui, mas não funcionou.
CREATE TRIGGER TG_INSERT_TABELA2
ON TESTE
AFTER INSERT
AS
BEGIN
DECLARE @V_VALOR_TOTAL1 DECIMAL(8,2)
DECLARE @V_VALOR_TOTAL2 DECIMAL(8,2)
BEGIN
SET @V_VALOR_TOTAL1 = (SELECT SUM(valor1_test + valor2_test) FROM tabela1)
SET @V_VALOR_TOTAL2 = (SELECT SUM(valor3_test + valor4_test) FROM tabela1)
END
BEGIN
INSERT INTO tabela2
VALUES (1,1,@V_VALOR_TOTAL1,@V_VALOR_TOTAL2)
WHERE valor_total = @V_VALOR_TOTAL1
AND valor_total = @VALOR_TOTAL2
END
END
OBS-1: no campo Values da TRIGGER, como é um teste eu coloquei PK = 1 e FK = 1(referenciando ao registro já inserido)
OBS-2: o Tabela Oríginal é um pouco grande pra ser colocada, porém segue a mesma lógica, contém cerca 70 campos, 14 deles serão somados na TRIGGER, e colocados em dois campos da tabela secundária.
Pergunta
Thiago Cabral
Boa Noite
Pessoal, sou novo no fórum, e este é meu primeiro tópico, também sou novo na linguagem SQL(SQL Server 2000), espero que alguém possa me ajudar, o problema é o seguinte:
Tenho uma tabela1 com 5 campos e uma outra tabela2 com 3 campos,
create table tabela1
(
cod_test int not null,
valor1_test decimal(8,2),
valor2_test decimal(8,2),
valor3_test decimal(8,2),
valor4_test decimal(8,2),
primary key(cod_test)
)GO
create table tabela2
(
cod_test2 int not null,
cod_test int not null,
valor_total decimal(8,2),
valor_total2 decimal(8,2),
primary key(cod_teste),
foreign key(cod_test) references tabela1
)GO
o dilema é: Preciso criar uma Trigger que, quando a tabela1 receber os regitros(INSERT), faça as somas (valor1_test + valor2_test), (valor3_test + valor4_test), e insira na tabela2 nos campos (valor_total, valor_total2), passei o dia com a Trigger aqui, mas não funcionou.
CREATE TRIGGER TG_INSERT_TABELA2
ON TESTE
AFTER INSERT
AS
BEGIN
DECLARE @V_VALOR_TOTAL1 DECIMAL(8,2)
DECLARE @V_VALOR_TOTAL2 DECIMAL(8,2)
BEGIN
SET @V_VALOR_TOTAL1 = (SELECT SUM(valor1_test + valor2_test) FROM tabela1)
SET @V_VALOR_TOTAL2 = (SELECT SUM(valor3_test + valor4_test) FROM tabela1)
END
BEGIN
INSERT INTO tabela2
VALUES (1,1,@V_VALOR_TOTAL1,@V_VALOR_TOTAL2)
WHERE valor_total = @V_VALOR_TOTAL1
AND valor_total = @VALOR_TOTAL2
END
END
OBS-1: no campo Values da TRIGGER, como é um teste eu coloquei PK = 1 e FK = 1(referenciando ao registro já inserido)
OBS-2: o Tabela Oríginal é um pouco grande pra ser colocada, porém segue a mesma lógica, contém cerca 70 campos, 14 deles serão somados na TRIGGER, e colocados em dois campos da tabela secundária.
Espero que me ajudem!
Obrigado a todos!
Thiago Ericson Cabral
thiagoericson@yahoo.com
suporte técnico - ValeCard
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.