Cuando construye su MATCH para que el campo de clasificación BY (llamado el campo común de clasificación de orden elevado) usado para ambos orígenes de datos es el mismo, el emparejamiento compara los valores de los campos comunes de clasificación de orden elevado. Si la secuencia completa de campos de orden es común a ambos archivos, se comparan todos.
Se requiere al menos un par de campos de clasificación con el mismo formato. En algunos casos, puede redefinir el formato de un campo usando el comando DEFINE. Si los nombres de campo difieren, use la frase AS para renombrar el segundo campo de clasificación para emparejarlo con el primero. Cuando se utiliza una frase AS en una solicitud MATCH, se renombra automáticamente el campo especificado en el archivo HOLD que resulta.
Cuando integra dos archivos con campos de clasificación común, se asume lo siguiente:
Para entender campos comunes de clasificación de orden elevado más claramente, considere algunos de los datos desde los orígenes de datos a continuación
Origen de datos EMPLOYEE |
Origen de datos EDUCFILE | ||
---|---|---|---|
EMP_ID |
LAST_NAME |
EMP_ID |
COURSE_CODE |
071382660 |
STEVENS |
071382660 |
101 |
119329144 |
BANNING |
212289111 |
103 |
112847612 |
SMITH |
112847612 |
103 |
y esta solicitud MATCH:
MATCH FILE EMPLOYEE SUM LAST_NAME BY EMP_ID RUN FILE EDUCFILE SUM COURSE_CODE BY EMP_ID AFTER MATCH HOLD OLD-OR-NEW END
El procesamiento MATCH ocurre como a continuación:
Record n: 071382660 STEVENS 101
Record n: 112847612 SMITH 103
Record n: 119329144 BANNING
Record n: 212289111 103
El código a continuación produce un informe de los registros en el archivo HOLD:
TABLE FILE HOLD PRINT * END
La salida es:
EMP_ID
|
LAST_NAME
|
COURSE_CODE
|
071382660 |
STEVENS |
101 |
112847612 |
SMITH |
103 |
117593129 |
JONES |
203 |
119265415 |
SMITH |
108 |
119329144 |
BANNING |
|
123764317 |
IRVING |
|
126724188 |
ROMANS |
|
212289111 |
|
103 |
219984371 |
MCCOY |
|
315548712 |
|
108 |
326179357 |
BLACKWOOD |
301 |
451123478 |
MCKNIGHT |
101 |
543729165 |
GREENSPAN |
|
818692173 |
CROSS |
302 |
Esta solicitud combina datos desde los orígenes de datos EMPLOYEE y EMPDATA. Los campos de clasificación son EID y PIN.
MATCH FILE EMPLOYEE PRINT LN FN DPT BY EID RUN FILE EMPDATA PRINT LN FN DEPT BY PIN AFTER MATCH HOLD OLD-OR-NEW END TABLE FILE HOLD PRINT * END
Si no hay campos comunes de clasificación de orden elevado, se lleva a cabo un emparejamiento a base de registro por registro. La solicitud a continuación hace coincidir los datos y produce el archivo HOLD:
MATCH FILE EMPLOYEE PRINT LAST_NAME AND FIRST_NAME BY EMP_ID RUN FILE EMPDATA PRINT PIN BY LAST_NAME BY FIRST_NAME AFTER MATCH HOLD OLD-OR-NEW END TABLE FILE HOLD PRINT * END
Los registros recuperados desde los orígenes de datos se escriben al archivo HOLD; no se comparan ningunos valores. La salida es:
EMP_ID
|
LAST_NAME
|
FIRST_NAME
|
LASTNAME
|
FIRSTNAME
|
PIN
|
071382660 |
STEVENS |
ALFRED |
ADAMS |
RUTH |
000000040 |
112847612 |
SMITH |
MARY |
ADDAMS |
PETER |
000000050 |
117593129 |
JONES |
DIANE |
ANDERSON |
TIM |
000000100 |
119265415 |
SMITH |
RICHARD |
BELLA |
MICHAEL |
000000020 |
119329144 |
BANNING |
JOHN |
CASSANOVA |
LOIS |
000000030 |
123764317 |
IRVING |
JOAN |
CASTALANETTA |
MARIE |
000000270 |
126724188 |
ROMANS |
ANTHONY |
CHISOLM |
HENRY |
000000360 |
219984371 |
MCCOY |
JOHN |
CONRAD |
ADAM |
000000250 |
326179357 |
BLACKWOOD |
ROSEMARIE |
CONTI |
MARSHALL |
000000410 |
451123478 |
MCKNIGHT |
ROGER |
CVEK |
MARCUS |
000000130 |
543729165 |
GREENSPAN |
MARY |
DONATELLO |
ERICA |
000000320 |
818692173 |
CROSS |
BARBARA |
DUBOIS |
ERIC |
000000210 |
|
|
|
ELLNER |
DAVID |
000000380 |
|
|
|
FERNSTEIN |
ERWIN |
000000350 |
|
|
|
GORDON |
LAURA |
000000180 |
|
|
|
GOTLIEB |
CHRIS |
000000340 |
|
|
|
GRAFF |
ELAINE |
000000390 |
|
|
|
HIRSCHMAN |
ROSE |
000000160 |
|
|
|
KASHMAN |
YOLANDA |
000000240 |
|
|
|
LASTRA |
KAREN |
000000200 |
|
|
|
LEWIS |
CASSANDRA |
000000220 |
. . . |
WebFOCUS |