Ver Mensaje Individual
  #4  
Viejo 16/04/15, 09:31:46
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Desconozco como esta implementado en detalle el FOR ALL ENTRIES, pero me imagino que internamente hara algo asi.

Tu tienes:

SELECT..
FOR ALL ENTRIES IN TABLA
WHERE CAMPO1 = TABLA1-CAMPO1

El compilador coge tu TABLA1 y genera un rango con todos los valores distintos de CAMPO1

Despues coge tu SELECT.. FOR ALL ENTRIES y lo convierte en

SELECT
WHERE CAMPO1 IN RANGO_CAMPO1

Es por eso que no puedes hacer referencia a campos de tu tabla interna, porque el select "real" que se hace no "ve" tu tabla interna.
Responder Con Cita