#1
|
|||
|
|||
For All Entries
Hola!, les hago una pregunta:
Como funciona la clausula FOR ALL ENTRIES en un select?, significa que para todas las entradas de la tabla que esta a continuacion de la clausula, seran tenidas en cuenta cuando se realize la consulta. Me gustaria tener en claro esto. Espero por sus respuestas, gracias. |
#2
|
||||
|
||||
El FOR ALL ENTRIES es practicamente la concatenacion de la siguiente sentencia
LOOP AT ... SELECT ... ENDLOOP. Pero con un algoritmo especial, se procesa cada SELECT con la condicion general y un OR de 5 en 5, si quieres darte cuenta, realiza un programa de prueba y activa el TRACE antes de ejecutarlo y veras la sentencia nativa d dicha consulta ...
__________________
David Carballido Córdova |
#3
|
|||
|
|||
primero muchas gracias por la respuesta, segundo el for all entries trabaja como un loop dentro del select principal, es decir se procesa la condicion where del select principal y se van tomando de a 5 registros de la tabla que sigue a la clausula for all entries y se realizan las comparaciones indicadas a continuacion de la clausula where. ok?
gracias |
#4
|
|||
|
|||
For all entries
Por cuestiones de performance debes asegurarte que cuando haces un for all entries tu tabla contenga registros ya que si esta vacia extraeras una gran cantidad de informacion o en algunos casos toda la tabla de la extraccion.
|
#5
|
|||
|
|||
For all entries
El for all entries es muy util sobre todo para el rendimiento, tu cargas una tabla interna,
Por ej: Select * into table it_bseg FROM bsed where belnr <= 100000. select * FROM bseg for all entries IN it_bseg where belnr EQ it_bseg-belnr. El for all entries solo procesara los registros cargados en tu tabla interna, con lo que el rendimiento es mucho mejor. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|