Generator com Trigger amp; Rollback da Transação
Amigos,
Mesmo disparando o GEN_ID por uma Trigger (Before Insert), se a transação falhar, por algum motivo, e for dado Rollback pela aplicação o Generator não volta... é isso mesmo? ou estou enganado?
[]´s
Vinicius.
Mesmo disparando o GEN_ID por uma Trigger (Before Insert), se a transação falhar, por algum motivo, e for dado Rollback pela aplicação o Generator não volta... é isso mesmo? ou estou enganado?
[]´s
Vinicius.
Vinicius2k
Curtidas 0
Respostas
Gandalf.nho
01/07/2004
Correto, os generators ficam fora do contexto das transações.
GOSTEI 0
Vinicius2k
01/07/2004
acho que vou continuar usando meus select max e/ou tabelas auxiliares então... :?
obrigado gandalf ! :wink:
obrigado gandalf ! :wink:
GOSTEI 0
Afarias
01/07/2004
|acho que vou continuar usando meus select max e/ou tabelas auxiliares
|então
Hummm... não aconselho! Além de menos eficiente não é seguro em ambientes c/s
T+
|então
Hummm... não aconselho! Além de menos eficiente não é seguro em ambientes c/s
T+
GOSTEI 0
Vinicius2k
01/07/2004
Obrigado afarias !
Este é meu dilema... gostaria de alterar minha forma de controle sobre IDs, para uma forma mais segura, mas é inconveniente o fato de voltar a transação não influenciar no generator... tenho certeza que terei clientes reclamando a razão pela qual um número de Ordem de Serviço, por exemplo, fugiu à sequencia... não vejo como rastrear as transações em que foi dado rollback para saber de onde partiu o erro...
Pensei que, mas ainda não testei, se o GEN_ID for disparado pela aplicação, ao invés da trigger, o generator fique dentro do escopo da transação... faria sentido este teste, ou realmente, não tem solução?
T+
Este é meu dilema... gostaria de alterar minha forma de controle sobre IDs, para uma forma mais segura, mas é inconveniente o fato de voltar a transação não influenciar no generator... tenho certeza que terei clientes reclamando a razão pela qual um número de Ordem de Serviço, por exemplo, fugiu à sequencia... não vejo como rastrear as transações em que foi dado rollback para saber de onde partiu o erro...
Pensei que, mas ainda não testei, se o GEN_ID for disparado pela aplicação, ao invés da trigger, o generator fique dentro do escopo da transação... faria sentido este teste, ou realmente, não tem solução?
T+
GOSTEI 0
Afarias
01/07/2004
|Pensei que, mas ainda não testei, se o GEN_ID for disparado pela
|aplicação, ao invés da trigger, o generator fique dentro do escopo da
|transação...
NÃO. Generators não sào incrementados no escopo de uma transação -- isso é justamente o q os torna SEGUROS no ambiente C/S
:)
Quanto ao seu problema -- dependendo do tamanho e número de usuários do sistema pode não haver realmente um ´problema´ ---
--- mas o caso é q seria simples (eu acho) apenas explicar ao usuário o q é um número SEQUENCIAL e como isso funciona em uma REDE!
´Buracos´ na sequencia não são nada... não significam nada. não é realmente um ´problema´ ... que diferença faz se a próxima ordem de serviço é 128 ou 129 ?? o q isso influi no sistema ou para as pessoas q o utilizam??
;)
T+
|aplicação, ao invés da trigger, o generator fique dentro do escopo da
|transação...
NÃO. Generators não sào incrementados no escopo de uma transação -- isso é justamente o q os torna SEGUROS no ambiente C/S
:)
Quanto ao seu problema -- dependendo do tamanho e número de usuários do sistema pode não haver realmente um ´problema´ ---
--- mas o caso é q seria simples (eu acho) apenas explicar ao usuário o q é um número SEQUENCIAL e como isso funciona em uma REDE!
´Buracos´ na sequencia não são nada... não significam nada. não é realmente um ´problema´ ... que diferença faz se a próxima ordem de serviço é 128 ou 129 ?? o q isso influi no sistema ou para as pessoas q o utilizam??
;)
T+
GOSTEI 0
Vinicius2k
01/07/2004
Concordo totalmente com vc ! :wink:
O difícil é fazer um cliente entender isso... :?
Quanto a número de usuários, não tenho nenhuma aplicação com mais de 20, o que me permitiu, até o momento, manter a forma atual sem ter problemas, mas precisamos evoluir sempre, não é verdade? :D
T+
O difícil é fazer um cliente entender isso... :?
Quanto a número de usuários, não tenho nenhuma aplicação com mais de 20, o que me permitiu, até o momento, manter a forma atual sem ter problemas, mas precisamos evoluir sempre, não é verdade? :D
T+
GOSTEI 0
Afarias
01/07/2004
mas precisamos evoluir sempre, não é verdade? :D
Concordo!
8)
T+
GOSTEI 0