Ir para conteúdo

Arquivado

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

LilianFreitas123

Insert com Select

Recommended Posts

Bom dia,

 

Fiz o seguinte script:

insert into usuarioPermissaoProjetosEspeciais (fkUsuario, fkPermissao, cadastrarEditar) 
values ((select u.pkUsuario from viewUsuario u where not exists(select * from usuarioPermissaoProjetosEspeciais where fkUsuario = u.pkUsuario))
,(select  p.pkPermissao from permissoesProjetosEspeciais p),0)

Porém está dando o seguinte erro:

 

Msg 512, Level 16, State 1, Line 1
Subquery 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 poderia me ajudar nisso?
Obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O comando INSERT é bem variado, e pode realizar este insert sem subquerys.

INSERT INTO usuarioPermissaoProjetosEspeciais (fkUsuario, fkPermissao, cadastrarEditar)
SELECT
  u.pkUsuario,
  p.pkPermissao,
  0
FROM viewUsuario u
LEFT JOIN usuarioPermissaoProjetosEspeciais e ON e.fkUsuario = u.pkUsuario
LEFT JOIN permissoesProjetosEspeciais p ON p.fkUsuario = e.fkUsuario
WHERE e.fkUsuario IS NULL

Não conheço a estrutura das tabelas, mas desta forma, você insere todas as informações retornadas pelo SELECT, certifique-se de que os campos estão corretos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

... e o erro original foi que uma das subqueries (de coluna) retornou mais de um registro, o que não é permitido.

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.