Ligação Implícita e Explícita
Visão Geral `v{ data-search-exclude }
A seguir está a lista atual de tipos de regras:
| Tipo de regra | Vinculação explícita/implícita | Colunas de destino | Comentários |TABLEROWEND
| ...TABLEROWEND
| Notificação | Explícita | | A fonte de dados deve estar vinculada ao App Builder fonte de dados (selada).
Campos de destino terminados em () podem ter várias colunas como destino. | | Objeto de negócios | N/A | Campos graváveis
Chaves primárias | | | Controle | Implícito | Metadados | As colunas são direcionadas com valores:
0 - oculto
1 - visível (obrigatório)
2 - visível (opcional)
Chaves primárias geralmente não são direcionadas. | | CRUD | Explícito | | As regras CRUD são vinculadas explicitamente por meio de Action Bindings.
As regras CRUD do XP são executadas uma única linha por vez, em lotes, com base no tamanho do lote definido em Be_Config.
Quando executadas em lotes, a contagem de linhas das regras CRUD do XP não deve mudar entre os lotes
App Builder classificará as linhas pelas chaves primárias, conforme indicado na regra XP CRUD e/ou na tabela de origem subjacente. Não marque valores gerados (newuuid()) como chave primária ou os resultados da execução repetida de uma regra mudarão. | | CRUD
Criar | Explícito | Dados | Valores gerados automaticamente não são gerados automaticamente com CRUD-Create (Use XPCRUD-Create). Geralmente todos os campos na tabela de destino/objeto de dados são direcionados. | | CRUD
Atualização | Explícito | Dados | 2 Tipos de alvos diferentes são usados para regras de atualização CRUD
Alvo - Vincular - usado para direcionar as colunas nas quais você deseja executar a atualização (geralmente o PK, mas não precisa ser o PK)
Alvo - | | CRUD
Excluir | Explícito | N/A | Chaves primárias de uma regra de exclusão devem ser direcionadas | | Padrão | Implícito | Dados | Se você vir um erro sobre "muitas linhas retornadas", verifique o seguinte:
1. A regra padrão inclui a tabela de destino na cláusula from (veja a vinculação implícita abaixo)
2. Se você estiver recebendo resultados duplicados, pode ser necessário definir o sinalizador DISTINCT em sua regra
3. Execute sua regra e verifique se os resultados são os esperados | | Migração | N/A | | Usado durante o gerenciamento de pacotes e App Builder atualizações. | | Subconsulta | N/A | N/A | Usado por outras regras, não usado diretamente por elas mesmas. | | Validação | Explícita
Implícita - A maioria das regras de validação usará vinculação implícita | | |
Como Funciona a Vinculação Implícita
Ao construir uma regra com vinculação implícita, a primeira instância da tabela de destino ou objeto de dados na regra é substituída pela linha "atual":
A cláusula from na sua regra deve ser a tabela de armazenamento para que a vinculação implícita funcione conforme desejado.
Exemplo 1: InadimplênciaOrderDetails.UnitPrice
com Product
preço (alvo éOrderDetails
)
Select Products.UnitPrice
from OrdersDetails, Products
where OrderDetails.ProductId = Products.ProductId
Torna-se:
Select Products.UnitPrice
from OrderDetails, Products
where 1234 = Products.ProductId
(onde 1234
é usado de OrderDetails
)
Exemplo 2: Juntando-se Novamente à Mesa
Às vezes, é necessário unir novamente na tabela de destino (padrão City
com base na correspondência Zip
de outro Customer
):
select Customer2.City
from Customer, Customer as Customer2
where Customer.Zip = Customer2.Zip
Torna-se (Customer
substituído pela linha atual, Customer2
apenas uma referência a uma tabela no banco de dados):
select Customer2.City
from Customer, Customer as Customer2
where '90210' = Customer2.Zip