Trigger para inserir em outra tabela

25/10/2017

0

Bom dia a todos!

Estou com uma duvida aqui não sei se por trigger poderá ser resolvido, tenho uma tabela que recebe 4 linhas ou seja 4 novos valores, preciso ordenar um campo de cada linha em ordem crescente e inserir em outra tabela em somente uma linha, ou seja cada novo valor sera um campo da linha inserida.

Alguem sabe se por trigger poderá ser feito ou de outra forma?

att
Kaio

Kaio

Responder

Posts

25/10/2017

Allan Monteiro

Se eu entendi, você vai receber por exemplo: abacate, morango, uva, pera que será inserido assim na tabela A:
1 - abacate
2 - morango
3- uva
4-pera

e na tabela B você quer inserir 1 - abacate, morango, pera, uva. Certo?

Se sim (eu não conheço muito de SQL Server), mas você pode pegar os valores inseridos na tabela A e fazer o seguinte:

coalesce((select cast(o.NOMECAMPO as varchar(4000)) + ',' AS [text()]
from A o with (nolock)
where A.ID = B.ID
FOR XML PATH(''),TYPE).value('.[1]','VARCHAR(MAX)'),'')

Ele vai pegar todos os campos da tabela A e "concatenar" em uma linha separando por vírgula, assim você pode trabalhar no insert da tabela B.

Qualquer coisa avisa aí, estou aprendendo SQL server também.

https://sqlandme.com/2011/04/27/tsql-concatenate-rows-using-for-xml-path/
Responder

25/10/2017

Venancio Alves

Olá Kaio, sim você pode usar Trigger para armazenar em outra tabela e mais uma função de concatenar para juntar os dados em um único campo, lembrando que existem outras soluções.
Responder

25/10/2017

Allan Monteiro

Desculpe, vi depois que é Oracle rs.

No Oracle você pode usar o LISTAGG

exemplo de uso: Select LISTAGG(campo, ',') from tabela

Mas se não me engano, não são todas as versões que possuem este comando.
Responder

25/10/2017

Kaio

Bom dia Allan!

Nao sera concatenado, sera um registro em cada campo.

Exemplo

campo1 = abacate , campo2 = morango ...

Minha duvida é como fazer um insert de 4 registros de uma vez em uma unica linha por trigger
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar