[firebase-br] Commit em script

Carlos Wilson cwfsa1 em gmail.com
Terça Outubro 22 16:35:46 -03 2024


Passo 1 inviável. Estou mudando a estrutura para que quando o usuario 
preencher os dados já esteja com PK.

Passo 2. O commit já não encerra a transação onde eu apaguei os dados? 
no proximo comando colocar um starttransaction não vai afetar em nada, 
não entendo porque ele dá erro como se tivesse dados sendo que foi feito 
um delete sem where. No proximo comando já devia acionar uma nova 
transação considerando a tabela vazia. Essa é a minha duvida

passo 3. A tabela não possui nenhuma trigger

passo 4. realmente não é pratica, eu fiz isso por estar testando o 
script no ibexpert. mas quero executar o script diretamente pelo sistema 
sem a intervenção do usuario


Grato.

[]'s
Carlos Wilson
Formosystem
Informática e Automação Comercial

Em 22/10/2024 12:31, Márcio Milhomem via lista escreveu:
>    1.
> Adicione a coluna sem restrições: Primeiramente, você pode adicionar a coluna ID sem as restrições de NOT NULL e PRIMARY KEY. Depois, você pode popular essa coluna com valores únicos e, por fim, alterar a coluna para adicionar as restrições.
>
> sql
> Copiar código
> ALTER TABLE IBPT
> ADD ID INTEGER;
>
> -- Popule a coluna ID com valores únicos
> UPDATE IBPT SET ID = <valor_unico>;
>
> -- Agora adicione as restrições
> ALTER TABLE IBPT
> ALTER COLUMN ID SET NOT NULL,
> ADD PRIMARY KEY (ID);
>
>
>    2.
> Usar transações: Certifique-se de encapsular todos os comandos em uma única transação. Assim, você pode controlar o estado da tabela antes de fazer o commit.
>    3.
> Verifique se há triggers ou constraints: Verifique se existem triggers ou constraints na tabela que possam estar interferindo na alteração da estrutura.
>    4.
> Desconexão e Reconexão: Embora você tenha notado que desconectar e conectar resolve o problema, isso não é uma solução prática. O ideal é que o banco mantenha o estado atualizado após cada operação.
>
> Ao seguir esses passos, você deve ser capaz de modificar a tabela sem intervenções manuais e sem erros.
>
> ________________________________
> De: lista <lista-bounces em firebase.com.br> em nome de Carlos Wilson via lista <lista em firebase.com.br>
> Enviado: terça-feira, 22 de outubro de 2024 12:25
> Para: FireBase <lista em firebase.com.br>
> Cc: Carlos Wilson <cwfsa1 em gmail.com>
> Assunto: [firebase-br] Commit em script
>
> boa tarde, eu mando um script de atualização do banco de dados do
> cliente, porém acontece algumas coisas que não entendo, por exemplo:
>
> DELETE FROM IBPT;
>
> COMMIT WORK;
>
> ALTER TABLE IBPT
> ADD ID INTEGER
> NOT NULL  PRIMARY KEY ;
>
> essa tabela era uma entidade fraca que não tinha pk, agora to mudando a
> estrutura dela pra criar um novo campo pk.
>
> se eu deletei todo o conteúdo da tabela e dei commit por que ele não
> aceita o proximo comando de criação do campo? dá erro de registro com
> valor null, só funciona se eu desconectar do banco e em seguida conectar
> novamente.
>
> Existe um porquê? e tem como eu resolver isso? porque eu quero que os
> comandos executem sem a intervenção do usuário.
>
> --
> []'s
> Carlos Wilson
> Formosystem
> Informática e Automação Comercial
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br<http://www.firebase.com.br>) - Hospedado em www.locador.com.br<http://www.locador.com.br>
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html



Mais detalhes sobre a lista de discussão lista