[firebase-br] Atualizacao de pdvs
Eliseu Schneider
modulo em cpovo.net
Qua Fev 13 22:40:42 -03 2013
Ola... trabalho com bancos paralelos, tabelas identicas, retaguarda e pdvs.
Necessito atualizar os pdvs com a tabela produtos sempre que for criado um
registro novo ou alterada alguma informacao
no cadastro da retaguarda. Quando isto acontece, mando o codigo do produto
para uma tabela paralela para posterior atualizacao nos pdvs. Como poderia
fazer isto pelo banco...
Seria atraves de update ou insert... se poderem me colocar um exemplo,
agradeco...
Sds,
Eliseu
Modulo Info
Porto Alegre / RS
-----Mensagem Original-----
From: Tecnobyte Informática
Sent: Thursday, October 25, 2012 5:52 PM
To: FireBase
Subject: Re: [firebase-br] RES: Log de transações
Não é o caso. Não existe nenhum campo calculado na tabela onde estou
tentando executar INSERT e UPDATE.
Atenciosamente.
Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br
-----Mensagem Original-----
From: Zottis
Sent: Thursday, October 25, 2012 3:30 PM
To: 'FireBase'
Subject: [firebase-br] RES: Log de transações
Vê se você está tentando gravar em campos calculados
-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Tecnobyte
Informática
Enviada em: quinta-feira, 25 de outubro de 2012 17:21
Para: lista em firebase.com.br
Assunto: [firebase-br] Log de transações
Boa tarde
Estou precisando fazer um log de todas as transações executadas no banco de
dados (Firebird 2.5.1). O código abaixo executa normalmente, mas em seguida,
quando vou iniciar uma nova transação, ocorre este erro:
attempted update during read-only transaction At trigger
'TG_TRANSACTION_START' line: 3, col: 3
Tentei usar transação autônoma para gravar o log, mas também não deu certo.
Alguém sabe como resolver este problema?
--
CREATE TABLE MON_TRANSACTIONS
(
ID INTEGER,
MON_TRANSACTION_ID INTEGER,
MON_ATTACHMENT_ID INTEGER,
MON_STATE INTEGER,
MON_START_TIMESTAMP TIMESTAMP,
MON_COMMIT_TIMESTAMP TIMESTAMP,
MON_TOP_TRANSACTION INTEGER,
MON_OLDEST_TRANSACTION INTEGER,
MON_OLDEST_ACTIVE INTEGER,
MON_ISOLATION_MODE SMALLINT,
MON_LOCK_TIMEOUT SMALLINT,
MON_READ_ONLY SMALLINT,
MON_AUTO_COMMIT SMALLINT,
MON_AUTO_UNDO SMALLINT,
CONSTRAINT PK_MON_TRANSACTIONS PRIMARY KEY(ID) );
CREATE SEQUENCE SQ_MON_TRANSACTIONS_ID;
SET TERM ^ ;
CREATE OR ALTER TRIGGER TG_TRANSACTION_START ON TRANSACTION START AS BEGIN
INSERT INTO MON_TRANSACTIONS(
ID,
MON_TRANSACTION_ID,
MON_ATTACHMENT_ID,
MON_STATE,
MON_START_TIMESTAMP,
MON_TOP_TRANSACTION,
MON_OLDEST_TRANSACTION,
MON_OLDEST_ACTIVE,
MON_ISOLATION_MODE,
MON_LOCK_TIMEOUT,
MON_READ_ONLY,
MON_AUTO_COMMIT,
MON_AUTO_UNDO)
SELECT
NEXT VALUE FOR SQ_MON_TRANSACTIONS_ID,
MON$TRANSACTION_ID,
MON$ATTACHMENT_ID,
MON$STATE,
CURRENT_TIMESTAMP,
MON$TOP_TRANSACTION,
MON$OLDEST_TRANSACTION,
MON$OLDEST_ACTIVE,
MON$ISOLATION_MODE,
MON$LOCK_TIMEOUT,
MON$READ_ONLY,
MON$AUTO_COMMIT,
MON$AUTO_UNDO
FROM MON$TRANSACTIONS
WHERE MON$TRANSACTION_ID = CURRENT_TRANSACTION; END^
CREATE OR ALTER TRIGGER TG_TRANSACTION_COMMIT ON TRANSACTION COMMIT AS BEGIN
UPDATE MON_TRANSACTIONS SET
MON_COMMIT_TIMESTAMP = CURRENT_TIMESTAMP
WHERE MON_TRANSACTION_ID = CURRENT_TRANSACTION; END^
Atenciosamente.
Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br
______________________________________________
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://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista