Ir para conteúdo

POWERED BY:

Arquivado

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

Damon

subquery dentro do insert

Recommended Posts

Bom dia pessoal.

Eu estou montando um chat comercial e estou precisando da ajuda de vocês.

Tenho 4 tabelas no BD CLIENTE, ATENDENTE, ATENDIMENTO E MENSAGEM .

 

1º Table Cliente possui, ID_CLIENTE,NOME, E_MAIL, EMPRESA e CIDADE.

 

2º Table Atendente possui, ID_ATENDENTE,ATENDENTEATIVO,CLIENTEATIVO,NOMEATENDENTE,NOMECLIENTE.

 

3º Table Atendimento possui:

ID_ATENDIMENTO, DATAHORAINCIO, DATAHORAFINAL,ID_CLIENTE,ID_ATENDENTE.

Obs(fk_Id_cliente, id_atendente)

 

4º table Mensagem possui:

ID_MENSAGEM, MENSAGEM, QUEMENVIOU,DATA,NOMEENVIOU, ID_ATENDIMENTO

Obs=( todos os id são auto encrement)

 

Esta tudo funcionando perfeitamente a minha dificuldade e na hora de inserir o ID_ATENDIMENTO na tabela mensagem, para separa as mensagens para que elas possam aparecer somente para aquele determinado atendimento.

 

Estava pensando em usar uma subquery dentro do insert mais me parece que não funciona quando eu termino mais de um campo dentro do select, pelo o inner join eu acho que funciona mais eu não sei aonde que vou armazenar o resultado dele para fazer o insert.

Alguem pode me ajudar??

 

Será que vou precisar usar trigger ou stored procedure para solucionar esta questão?

 

 

Ninguem ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estava pensando em usar uma subquery dentro do insert mais me parece que não funciona quando eu termino mais de um campo dentro do select, pelo o inner join eu acho que funciona mais eu não sei aonde que vou armazenar o resultado dele para fazer o insert.

 

Se a transação tem que ser em tempo real e gravando dados em diferentes tabelas, pode ser por trigger, mas tenha em vista o tempo de gravação.

 

Como que tu faz nesse seu cenário hoje??

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se a transação tem que ser em tempo real e gravando dados em diferentes tabelas, pode ser por trigger, mas tenha em vista o tempo de gravação.

 

Como que tu faz nesse seu cenário hoje??

 

Att.

A.Jr

 

Então esse insert vai precisar ser em tempo real. Você pode me passar algumas dicas ou ideias para me fazer esse insert.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Damon, experimentou

-- insere informações de atendimento
INSERT into Atendimento 
   ...

-- armazena o valor gerado anteriormente em ID_ATENDIMENTO
declare @idAtd int;
SET @idAtd = SCOPE_IDENTITY();

-- armazena mensagem do atendimento
INSERT into Mensagem 
    values (@Mensagem, @QuemEnviou, @Data, @NomeEnviou, @idAtd);

Tenho 4 tabelas no BD CLIENTE, ATENDENTE, ATENDIMENTO E MENSAGEM .

1º Table Cliente possui, ID_CLIENTE,NOME, E_MAIL, EMPRESA e CIDADE.

2º Table Atendente possui, ID_ATENDENTE,ATENDENTEATIVO,CLIENTEATIVO,NOMEATENDENTE,NOMECLIENTE.

3º Table Atendimento possui:
ID_ATENDIMENTO, DATAHORAINCIO, DATAHORAFINAL,ID_CLIENTE,ID_ATENDENTE.
Obs(fk_Id_cliente, id_atendente)

4º table Mensagem possui:
ID_MENSAGEM, MENSAGEM, QUEMENVIOU,DATA,NOMEENVIOU, ID_ATENDIMENTO
Obs=( todos os id são auto encrement)

Esta tudo funcionando perfeitamente a minha dificuldade e na hora de inserir o ID_ATENDIMENTO na tabela mensagem, para separa as mensagens para que elas possam aparecer somente para aquele determinado atendimento.

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.