Vinculación Implícita y Explícita
Descripción General
La siguiente es la lista actual de tipos de reglas:
Tipo de regla | Enlace explícito/implícito | Columnas de destino | Comentarios |
---|---|---|---|
Notificación | Explícito | La fuente de datos debe estar vinculada a la App Builder fuente de datos (sellada). Los campos de destino que terminan en () pueden tener varias columnas que los dirijan. | |
Objeto comercial | N/D | Campos editables Claves primarias | |
Control | Implícito | Metadatos | Las columnas se seleccionan con valores: 0 - oculto 1 - visible (obligatorio) 2 - visible (opcional) Las claves principales generalmente no se seleccionan. |
CRUD | Explícito | Las reglas CRUD se vinculan explícitamente mediante enlaces de acción. Las reglas CRUD de XP se ejecutan una sola fila a la vez, en lotes, según el tamaño del lote definido en Be_Config. Cuando se ejecutan en lotes, el recuento de filas de las reglas CRUD de XP no debe cambiar entre lotes App Builder ordenará las filas por las claves principales tal como se indican en la regla CRUD de XP y/o la tabla de origen subyacente. No marque los valores generados (newuuid()) como clave principal o los resultados de la ejecución repetida de 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, se seleccionan todos los campos en la tabla o el objeto de datos de destino. |
CRUD Actualizar | Explícito | Datos | Se utilizan 2 tipos de destino diferentes para las reglas de actualización de CRUD Destino - Vincular - 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/D | Las claves principales de una regla de eliminación deben tener como objetivo |
Predeterminado | Implícito | Datos | Si ve un error sobre "demasiadas filas devueltas", verifique lo siguiente: 1. ¿La regla predeterminada incluye la tabla de destino en la cláusula from (consulte la vinculación implícita 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 App Builder actualizaciones. | |
Subconsulta | N/A | N/A | Usado por otras reglas, no usado directamente por ellas mismas. |
Validación | Explícita Imlícita: la mayoría de las reglas de validación utilizarán un enlace implícito |
Cómo Funciona la Vinculación Implícita
Al crear una regla con enlace implícito, la primera instancia de la tabla de destino o del 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: IncumplimientoOrderDetails.UnitPrice
con Product
precio (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
(donde 1234
se utiliza desde OrderDetails
)
Ejemplo 2: Volver a Unirse a la Mesa
A veces es necesario volver a unirse a la tabla de destino (predeterminado) City
basado en coincidencia 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