Ir para conteúdo

POWERED BY:

Arquivado

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

Mic Mota

Consulta Inserção

Recommended Posts

Olá a todos. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Estou realizando uma consulta inserção com as seguintes tabelas:

Origem Tabela1NR_MATRALUN	numeric	no	5NR_MATRANTR	numeric	no	5ID_IDTFDISC	numeric	no	5CD_CODDISC	varchar	no	6CD_CODTUTEO	char	no	3CD_CODTULAB	char	no	3CD_CODTUEXE	char	no	3NR_POSDISC	varchar	no	2
Destino Tabela2NR_MATRALUN	numeric	no	5ID_IDTFDISC	numeric	no	5CD_CODDISC	varchar	no	6CD_CODTUTEO	char	no	3CD_CODTULAB	char	no	3CD_CODTUEXE	char	no	3N1	float	no	8N2	float	no	8N3	float	no	8N4	float	no	8N5	float	no	8TP1	float	no	8TP2	float	no	8TP3	float	no	8TP4	float	no	8TP5	float	no	8TP6	float	no	8TP7	float	no	8TP8	float	no	8TP9	float	no	8TP10	float	no	8TP11	float	no	8TP12	float	no	8P1	float	no	8P2	float	no	8P3	float	no	8P4	float	no	8FATOR	float	no	8NT_MEDFINA	float	no	8CD_CONDAPRV	varchar	no	2NT_SMEDFINA	float	no	8FALTAS	numeric	no	5RP1	float	no	8RP2	float	no	8RP3	float	no	8RP4	float	no	8RP5	float	no	8ID_RP1	char	no	2ID_RP2	char	no	2ID_RP3	char	no	2ID_RP4	char	no	2ID_RP5	char	no	2ID_MIGORACLE	char	no	1CD_CODDIPS	numeric	no	5NR_MATRANTR	numeric	no	5ID_MIGNOTA	char	no	1

 

A consulta abaixo eh executada no Query Analyzer:

INSERT INTO Tabela2(NR_MATRALUN,ID_IDTFDISC,CD_CODDISC,CD_CODTUTEO,CD_CODTULAB,CD_CODTUEXE,N_MATRANTR)(SELECT M.NR_MATRALUN, M.ID_IDTFDISC,M.CD_CODDISC,M.CD_CODTUTEO,M.CD_CODTULAB,M.CD_CODTUEXE, M.NR_MATRANTRFROM Tabela1 M LEFT JOIN NOTA N ON (M.ID_IDTFDISC = N.ID_IDTFDISC) AND (M.NR_MATRALUN = N.NR_MATRALUN)GROUP BY M.NR_MATRALUN, M.ID_IDTFDISC,M.CD_CODDISC,M.CD_CODTUTEO,M.CD_CODTULAB,M.CD_CODTUEXE,N.NR_MATRALN,N.ID_IDTFDISC,M.NR_MATRANTRHAVING N.NR_MATRALUN Is Null AND N.ID_IDTFDISC Is Null)
Porém não executa e retorna a mensagem:

Server: Msg 512, Level 16, State 1, Procedure tr_audit_nota, Line 39Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.The statement has been terminated.

 

 

Alguém pode me ajudar???

 

Obrigada. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Eri...

 

Eu agradeço pelo artigo enviado, mas esse insert teria que ser realizado mesmo com mais registros de retorno, no semestre anterior o mesmo código funcionava, mas agora retorna esse erro...

Se fizermos o mesmo insert sem os filtros ele funciona retornando mais de uma linha.

 

Executei o select separado e retornou assim:

 

NR_MATRALUN ID_IDTFDISC CD_CODDISC CD_CODTUTEO CD_CODTULAB CD_CODTUEXE NR_MATRANTR ----------- ----------- ---------- ----------- ----------- ----------- ----------- 100022201   717		 NPC42	  NULL		465		 NULL		NULL100022201   711		 NPB41	  NULL		455		 NULL		NULL

Teria que inserir essas duas linhas... eh isso q preciso... se não conseguir vou fazer um looping no meu código...

 

Q vcs acham?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hi Mota,hum... estranho o comando insert esta correto, no caso de insert com select pode ter sim mais de uma linha, errado seria se não fosse o erro retorna de uma procedure: Procedure tr_audit_nota, Line 39 (apesar que nem sempre o erro esta na linha que ele indica..rss)será que o erro é mesmo nesse insert ??? tenta ver dentro da proc se o erro não é em outra partetenta tb. executar só o insert com esse select separado, pois não vejo possibilidade de ele retornar o erro "Subquery returned more than 1 value" nessa partet++

Compartilhar este post


Link para o post
Compartilhar em outros sites

RapazzzzzzzzzzzEh a trigger viu... corrigi...Muito obrigada, mesmo não sendo isso que falávamos antes, me ajudou muito!!Brigadão mesmo... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

blzera http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.