[firebase-br] FW: Criar procedure generica para update - reduzido
Rodrigo Teodoro
rodrigo_teodoro em hotmail.com
Seg Fev 12 11:12:48 -03 2007
Galera,Muita hora nesta calma....Por um exemplo no livro de firebird 2 montei usando "Execute block" instruções que fazem update e insert dependedo do registros lido. Ficou show. E ainda fiz uma procedure genérica para gerar o bloco de acordo com cada tabela que tenho. Fino.Só tem um problema, quando mando um "execute statement" no ddl gerado dá os seguinte erro:"Unsucessful execution caused by a system erro that precludes sucessful execution of subsequent statements.Dynamic SQL Error.SQL error code = -902.Wrong request type in EXECUTE STATEMENT 'EXECUTE BLOCK RETURNS(R_CODCLIENTE INTEGER, R_CODC'.At procedure 'COPIAATUALIZAREGISTROS'."//Modelo de execute block que estou criandoEXECUTE BLOCKRETURNS (R_CODCLIENTE INTEGER,R_NOME VARCHAR(50))AS BEGIN FOR SELECT CODCLIENTE,NOME FROM TMP_CLIENTE INTO :R_CODCLIENTE, :R_NOME DO BEGIN IF (EXISTS (SELECT * FROM CLIENTE WHERE CODCLIENTE=:R_CODCLIENTE)) THEN UPDATE CLIENTE SET CLIENTE.NOME = :R_NOME WHERE CLIENTE.CODCLIENTE = :R_CODCLIENTE; ELSE INSERT INTO CLIENTE (CODCLIENTE,NOME) VALUES (:R_CODCLIENTE,:R_NOME); SUSPEND; ENDEND;Obrigado,
Rodrigo Teodoro
_________________________________________________________________
Obtenha o novo Windows Live Messenger!
http://get.live.com/messenger/overview
Mais detalhes sobre a lista de discussão lista