Publicación de varias columnas derivadas mediante la función %GETCOL (SQL dinámico)

Un ejemplo de cómo publicar varias columnas derivadas mediante la función %GETCOL.

Este ejemplo hace referencia a la relación de la tabla primaria (EMPLOYEE) y las tablas secundarias (BRANCH, STATE y COUNTRY). Los nombres de tabla referenciados en los ejemplos siguen el formato de motor de réplica de CDC para Microsoft SQL Server y motor de réplica de CDC para bases de datos Sybase. Si ha instalado otro motor de réplica de réplica de CDC, consulte el parámetro table_name en esta función para obtener más información sobre cómo especificar nombres de tabla que dependan de la base de datos.

Tablas CUSTID y CUSTADDR utilizadas con la función %GETCOL para SQL dinámico

Este ejemplo combina las tablas CUSTID y CUSTADDR en una única tabla CUSTOMER con las cinco columnas. Llamando a la función %GETCOL dos veces, recupera valores de dos columnas de la misma fila en la tabla secundaria. La primera llamada lee toda la fila en memoria y la segunda llamada recupera datos de la misma fila en memoria, sin leer la misma tabla dos veces.

Tablas de origen utilizadas con la función %GETCOL

Para utilizar este ejemplo, realice los pasos siguientes:
  1. Añada una columna derivada, ADDR1, a la tabla de origen CUSTID y especifique la siguiente expresión para la columna:

    %GETCOL(ADDRESS1, "MASTER.DBO.CUSTADDR", "Not Found", CUSTNO, CUSTNO)

  2. Añada una columna derivada, ADDR2, a la tabla de origen CUSTID y especifique la siguiente expresión para la columna:

    %GETCOL(ADDRESS2, "MASTER.DBO.CUSTADDR", "Not Found")

La expresión de ADDR1 consulta la tabla CUSTADDR y devuelve el valor de la columna ADDRESS1 donde coinciden los dos valores CUSTNO. La expresión de ADDR2 utiliza los resultados devueltos por la invocación de función %GETCOL anterior sin leer la tabla CUSTADDR. En su lugar, utiliza filas coincidentes de la definición ADDR2 para saber cuándo devolver el valor de la columna ADDRESS2. Si ninguna de las dos funciones %GETCOL no puede encontrar una fila coincidente, devuelve un valor de "Not Found".

Tabla de destino utilizada con la función %GETCOL