Re: [firebase-br] Commit em script
Márcio Milhomem via lista <[email protected]> Tue, 22 Oct 2024 15:31:09 +0000
| Newsgroups | gmane.comp.db.firebase.portuguese |
|---|---|
| Message-ID | <RO2PR80MB86746BFB9F13A0C5D3647136CC4C2@RO2PR80MB8674.lamprd80.prod.outlook.com> |
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 <[email protected]> em nome de Carlos Wilson via lista <[email protected]> Enviado: terça-feira, 22 de outubro de 2024 12:25 Para: FireBase <[email protected]> Cc: Carlos Wilson <[email protected]> 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