4D v14.3DELETE SELECTION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
DELETE SELECTION
|
DELETE SELECTION {( tabela )} | ||||||||
Parâmetro | Tipo | Descrição | ||||||
tabela | Tabela |
![]() |
Tabela a qual apagar a seleção atual, ou tabela padrão, se omitido | |||||
DELETE SELECTION apaga a seleção atual de registros de tabela. Se a seleção atual estiver vazia, DELETE SELECTION não faz nada. Depois de apagar os registros, a seleção atual fica vazia. Os registros que são apagados durante uma transação estão bloqueados para os outros usuários e processos até que a transação seja confirmada ou cancelada.
Advertência: a eliminação de uma seleção de registros é uma operação definitiva e não pode ser desfeita.
Desmarcar a opção Registros apagados definitivamente no Inspetor de tabelas lhe permite aumentar a velocidade das eliminações durante o uso de DELETE SELECTION (ver Registros eliminados definitivamente no manual Modo Desenho).
O seguinte exemplo mostra todos os registros da tabela [Pessoas] e permite ao usuário selecionar quais apagar. O exemplo tem duas partes. A primeira é um método para mostrar os registros. A segunda é um método de objeto para um botão Apagar. Este é o primeiro método:
ALL RECORDS([Pessoas]) ` Seleção de todos os registros
 FORM SET OUTPUT([Pessoas];"Lista") ` Definição do formulário para listar os registros DISPLAY SELECTION ([Pessoas]) ` Mostrar todos os registros
` Solicitar confirmação de que o usuário realmente quer apagar os registros CONFIRM("Vocêe selecionou"+String(Records in set ("UserSet"))+" pessoas a apagar."
+Char(13)+"Clique em OK para apagá-las.")
If(OK=1)
 USE SET("UserSet") ` Utilizar os registros escolhidos pelo usuário
DELETE SELECTION([Pessoas]) ` Apagar a seleção de registros
 End if
 ALL RECORDS([Pessoas]) ` Seleção de todos os registros
Se for encontrado um registro bloqueado durante a execução de DELETE SELECTION, esse registro não se apaga. Todos os registros bloqueados são colocados em um conjunto sistema chamado LockedSet. Depois da execução de DELETE SELECTION, pode testar LockedSet para verificar se os registros estavam bloqueados. O seguinte loop será executado até que todos os registros são apagados:
Repeat ` Repetir para cada registro bloqueado
 DELETE SELECTION([EstaTabela])
 If(Records in set("LockedSet")#0) ` Se houver registros bloqueados
 USE SET("LockedSet") ` Selecionar apenas os registros bloqueados
 End if Until(Records in set("LockedSet")=0) ` Até que não haja mais registros bloqueados
Produto: 4D
Tema: Seleção
Número
66
Criado por: < 4D v6
Conjuntos
DISPLAY SELECTION
MODIFY SELECTION
Record Locking
TRUNCATE TABLE
Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)
Inherited from : DELETE SELECTION ( 4D v11 SQL Release 6)