Guest - jacsonsoares - Postado Abril 5, 2004 Denunciar Share Postado Abril 5, 2004 Pessoal, Preciso travar um registro no Interbase, no Oracle, usa-se SELECT * FROM TABELA FOR UPDATE NO WAIT ou SKIP LOCKED Alguém sabe como fazer no Interbase?Muito obrigado!Att, Jacson Soares; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bolomaster Postado Abril 6, 2004 Denunciar Share Postado Abril 6, 2004 (editado) Não entendi! Se precisa de uma quebra de página entre os dois relatórios, então, basta chamar um e depois o outro ao invés de compor. Certo?Esquece.. respondi .. errado meu .. desculpa ai vou ver o que posso fazer no seu abraços Editado Abril 6, 2004 por bolomaster Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jacsonsoares Postado Abril 6, 2004 Denunciar Share Postado Abril 6, 2004 Não entendi! Se precisa de uma quebra de página entre os dois relatórios, então, basta chamar um e depois o outro ao invés de compor. Certo? Quis dizer o seguinte:Tenho uma tabela de notas fiscais, e a mesma pode ser acessada por n usuarios.mostro todos os registros em uma pesquisa para os usuarios "A" e "B".O usuario "A" quer trabalhar a NF nro 10, e pega o registro para trabalhar.No Oracle eu uso SELECT * FROM TB_NF WHERE NOTA = 10 FOR UPDATE NO WAIT para travar o registro para o usuario "A". O usuario ''B" quer trabalhar também a NF nro 10, e tenta pegar o registro para trabalhar, no Oracle eu sei que se o usuario "A" está trabalhando com o comando SELECT * FROM TB_NF WHERE NOTA = 10 FOR UPDATE NO WAITSe eu não conseguir dar um "Lock" travar o registro é porque ele esta em uso.Gostaria se é possível travar apenas um registro para uso no Interbase.Entendeu?No help do SQL do interbase existe o comando NO WAIT porém pesquisando na net encontrei em algumas apostilas que o IB não trava os registros.A maneira mais fácil que conheço é tratando os registros por TAG(marca).Ex.:O usuario "A" quer trabalhar a NF nro 10, e pega o registro para trabalhar.Então dou um UPDATE no campo TAG para 1.O usuario ''B" quer trabalhar também a NF nro 10, e tenta pegar o registro para trabalhar.Então verifico na tabela se a TAG do registro está em 0, se não o mesmo está em uso.Mas isso é muito usado em Paradox, e acho que um banco legal como o Ib deveria ter esse recurso.Obs.: Estarei testando o Firebird pois em alguns sites dizem que a versão 1.5 tem o comando que eu quero "WHIT NO WAIT"Obrigado a todos pela colaboração!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jacsonsoares Postado Abril 8, 2004 Denunciar Share Postado Abril 8, 2004 Não entendi! Se precisa de uma quebra de página entre os dois relatórios, então, basta chamar um e depois o outro ao invés de compor. Certo?Esquece.. respondi .. errado meu .. desculpa ai vou ver o que posso fazer no seu abraços Moderador , Tem alguma ideia?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Rodrigo Alvim Postado Abril 27, 2004 Denunciar Share Postado Abril 27, 2004 Jacson, Se você conseguir alguma ajuda sobre como travar registro no Interbase ou FireBird, por favor me retorne. Também estou muito interessado.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest s3c@terra.com.br Postado Abril 27, 2004 Denunciar Share Postado Abril 27, 2004 Que acesso você utiliza, BDE, IBX. . . ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jacsonsoares Postado Abril 28, 2004 Denunciar Share Postado Abril 28, 2004 Uso DBE.Eu gostari de fazer o seguinte: Select id from tabela where id = 10 for update whit nowait isso iria travar o registro e eu tentaria fazer o mesmo select de outra máquina e se realmente o registro estiver travado ele retorna uma exception que eu trataria no delphi e enviaria uma menssagem para o usuario disendo que o registro esta em uso.este é o teste que eu gostaria de fazer, você sabe como fazer? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest s3c@terra.com.br Postado Abril 28, 2004 Denunciar Share Postado Abril 28, 2004 Caro amigo, pelo BDE, receio que você não consiga.Talvez você consiga pelo IBX, bloqueando no IBTransaction da query.No BDE, o StartTransaction é em todo o banco e o Interbase só aceita um StartTransaction por vez. Ficaria inviável.No IBX, as transações são por querys, de modo que ficaria mais flexível. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - jacsonsoares -
Pessoal,
Preciso travar um registro no Interbase, no Oracle, usa-se
Alguém sabe como fazer no Interbase?
Muito obrigado!
Att, Jacson Soares;
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.