Saltar al contenido

Vinculación Implícita y Explícita

Descripción General

La siguiente es la lista actual de tipos de reglas:

Tipo de regla Vinculación explícita/implícita Columnas de destino Comentarios
Notificación Explícito La fuente de datos debe estar vinculada a la fuente de datos de vinilo (sellada).
Los campos de destino que terminan en () pueden tener varias columnas orientadas a ellos.
Objeto de negocio N/A Campos grabables
Claves primarias
Controlar Implícito Metadatos Las columnas están orientadas con valores:
0: oculta
1: visible (obligatorio)
2: visible (opcional)
Las claves principales generalmente no están orientadas.
CRUD Explícito Las reglas CRUD están vinculadas explícitamente mediante enlaces de acción.
Las reglas CRUD de XP se ejecutan en una sola fila a la vez, en lotes, según el tamaño del lote definido en Be_Config.
Cuando se ejecuta en lotes, el recuento de filas de las reglas XP CRUD no debe cambiar entre lotes
Vinyl ordenará las filas por las claves principales como se indican en la regla XP CRUD y/o la tabla fuente subyacente. No marque los valores generados (newuuid()) como clave principal o los resultados de ejecutar repetidamente una regla cambiarán.
CRUD
Crear
Explícito Datos Los valores generados automáticamente no se generan automáticamente con CRUD-Create (use XPCRUD-Create). Generalmente, todos los campos de la tabla/objeto de datos de destino están dirigidos.
CRUD
Actualización
Explícito Datos Se utilizan 2 tipos de destino diferentes para las reglas de actualización CRUD
Destino - Enlace: se utiliza para apuntar a las columnas en las que desea realizar la actualización (a menudo la PK, pero no tiene que ser la PK)
Destino -
CRUD
Eliminar
Explícito N/A Se deben apuntar a las claves primarias de una regla de eliminación
Predeterminado Implícito Datos Si ve un error sobre "se devolvieron demasiadas filas", verifique lo siguiente:
1. ¿La regla predeterminada incluye la tabla de destino en la cláusula from (consulte el enlace implícito a continuación)
2. Si obtiene resultados duplicados, es posible que deba configurar el indicador DISTINCT en su regla
3. Ejecute su regla y verifique que los resultados sean los esperados
Migración N/A Se utiliza durante la gestión de paquetes y actualizaciones de Vinyl.
Subconsulta N/A N/A Utilizadas por otras reglas, no utilizadas directamente por ellas mismas.
Validación Explícito
implícito: la mayoría de las reglas de validación utilizarán enlace implícito

Cómo Funciona el Enlace Implícito

Al crear una regla con enlace implícito, la primera instancia de la tabla de destino u objeto de datos en la regla se sustituye por la fila "actual":

La cláusula from en su regla debe ser la tabla de almacenamiento para que el enlace implícito funcione como se desea.

Ejemplo 1: Incumplimiento OrderDetails.UnitPrice con Product Precio (el Objetivo EsOrderDetails)

Select Products.UnitPrice

from OrdersDetails, Products

where OrderDetails.ProductId = Products.ProductId

Se convierte en:

Select Products.UnitPrice

from OrderDetails, Products

where 1234 = Products.ProductId

(dónde 1234 se utiliza de OrderDetails)

Ejemplo 2: Volver a Unirse en la Mesa

A veces es necesario volver a unirse a la mesa de destino (predeterminado City basado en el emparejamiento Zip de otro Customer):

select Customer2.City

from Customer, Customer as Customer2

where Customer.Zip = Customer2.Zip

se convierte en (Customer reemplazado con la fila actual, Customer2 solo una referencia a una tabla en la base de datos):

select Customer2.City

from Customer, Customer as Customer2

where '90210' = Customer2.Zip