Izis O erro acontenceu porque a sub-query trouxe mais de uma linha e você está usando um operador de comparação simples (o sinal de igual).
Você pode verificar as seguintes coisas: - Utilizar o operador IN ao invés de = (igual), pois o IN aceita comparação com mais de uma linha. - Continuar com o operador de igual (=), mas garantir que a sub-query retorne apenas uma linha no máximo (talvez usando função de grupo... ou revisando as condições de seleção da sub-query). - Verificar se a sub-query está trazendo várias linhas devido a um erro nos seus joins. [ ] André Em 24/07/08, izisfilipaldi <[EMAIL PROTECTED]> escreveu: > > Bom dia, > estou precisando da ajuda de vocês... > > Não estou conseguindo fazer o seguinte update: > > UPDATE tabelaA SET campo.tabelaA = campo.tabelaB > WHERE campo.tabelaA = > ( > SELECT campo.tabelaB FROM tabelaA, tabelaB, tabelaC > WHERE condições_especificas > ) > > O seguinte erro acontece: > > "ORA-01427: single-row subquery returns more than one row." > > Só que eu estou selecionando na subquery apenas uma coluna, como pode > ver no exemplo acima. > E então ele nao está aceitando porque diz que o select está trazendo > mais de uma linha. > Eu não tenho muita experiencia com as funções do Oracle. > Já tentei usar o exemplo sugerido aqui > (http://www.techonthenet.com/oracle/errors/ora01427.php), mas pelos > select que fiz antes, os valores que foram retornados usando esse > exemplo eram diferentes do valor correto. > > O que mais preciso fazer para que meu update de certo? Algo com Join? > pode me ajudar com um exemplo de update com join ou sem ? Estou > precisando muito. > > Obrigada a todos. > > Izis Filipaldi > Tecmedd - TI > Ribeirão Preto/SP > > > [As partes desta mensagem que não continham texto foram removidas]