#1
|
|||
|
|||
Comparar todos los campos de 2 tablas iguales
Buenas,
Alguien me podría orientar sobre como comparar todos los campos de 2 tablas que son iguales? La cosa seria: loop at t_s610. select * from s604 where s604 = t_s610 (aquí hacer la comparación). endselect. endloop. No hay otra manera que no sea ir campo por campo? Saludos. |
#2
|
||||
|
||||
proba pasar la tabla a otra temporal y asi comparas entre dos temporales.
un ejemplo: tables bkpf. data: begin of t_bkpf occurs 0. include structure bkpf. data: end of t_bkpf. data: begin of t_2bkpf occurs 0. include structure bkpf. data: end of t_2bkpf. select * from bkpf into table t_2bkpf. if t_bkpf[] = t_2bkpf[]. write 'iguales'. else. write 'distintas'. endif. |
#3
|
|||
|
|||
Nunca pongas Select dentro de un loop. |
#4
|
|||
|
|||
Por que?
Saludos! |
#5
|
|||
|
|||
Porque es antiperformante. Te conviene usar SELECT SINGLE dentro de un LOOP. Además tendrías que siempre es mejor pasar las tablas transparentes a tablas internas para procesarlas ya que es más rápido trabajar en memoria que acceder a la base de datos muchas veces.
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|