Ir para o conteúdo

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.UnitPricecom 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, Customer2apenas uma referência a uma tabela no banco de dados):

select Customer2.City

from Customer, Customer as Customer2

where '90210' = Customer2.Zip