[firebase-br] RES: Retorno apos insert com procedure
Rodrigo A. de Freitas
rodrigo em solucoeseinformatica.com.br
Qua Set 12 16:05:50 -03 2007
Olá Alessandro!
No FB 2.0, você não precisa criar uma procedure para isso, se o intuito é
retornar o ID do seu registro. Basta usar o INSERT com a cláusula RETURNING:
INSERT INTO TABELA (CAMPO1, CAMPO2 ... CAMPON)
VALUES ('A', 'B', .... 'Z')
RETURNING (ID);
O código acima funciona se, por exemplo, o campo ID da tabela for atualizado
via trigger; Lembrando que a cláusula RETURNING NÃO funciona dentro de uma
stored procedure.
Caso você queria apenas retornar um valor qualquer dentro de uma SP, basta
definir os campos de retorno e utilizar o comando SUSPEND, assim:
CREATE PROCEDURE TESTE (
CAMPO1 VARCHAR(1),
CAMPO2 VARCHAR(1)
)
RETURNS (
ID INTEGER
)
AS
BEGIN
ID = GEN_ID(MEU_GENERATOR, 1);
INSERT INTO TABELA (ID, CAMPO1, CAMPO2)
VALUES (:ID, :CAMPO1, :CAMPO2);
SUSPEND;
END
[]'s
Rodrigo A. de Freitas
Soluções & Informática
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Alessandro Francisco
Enviada em: quarta-feira, 12 de setembro de 2007 14:44
Para: lista em firebase.com.br
Assunto: [firebase-br] Retorno apos insert com procedure
Gente, ultimamente eu ando fazendo umas perguntas nb's mas eh porque fiquei
um tempo afastado do FB e acabei esquecendo muita coisa, então tenham
paciência por favor... xD
Seguinte
Eu tenho uma procedure que faz um insert e gostaria que essa procedure
retorna-se pra mim qual o código que foi gerado, eu estou usando o FB 2.x e
sei que tem como fazer isso mas não lembro como.
Grato
Alessandro
Abaixo segue codigo da procedure:
CREATE PROCEDURE TB_PESSOAS_I( PES_CNPJ_CPF VARCHAR(20) CHARACTER SET
WIN1250, PES_IE_RG VARCHAR(20) CHARACTER SET WIN1250, PES_NOME
VARCHAR(100) CHARACTER SET WIN1250, PES_RUA VARCHAR(100) CHARACTER SET
WIN1250, PES_BAIRRO VARCHAR(100) CHARACTER SET WIN1250, PES_CIDADE
VARCHAR(100) CHARACTER SET WIN1250, PES_ESTADO VARCHAR(100) CHARACTER SET
WIN1250, PES_CEP VARCHAR(20) CHARACTER SET WIN1250, PES_TELEFONE
VARCHAR(20) CHARACTER SET WIN1250, PES_FAX VARCHAR(20) CHARACTER SET
WIN1250, PES_CONTATO VARCHAR(100) CHARACTER SET WIN1250, PES_EMAIL
VARCHAR(100) CHARACTER SET WIN1250, PES_TIPO VARCHAR(20) CHARACTER SET
WIN1250, PES_OBS VARCHAR(1000) CHARACTER SET WIN1250)ASbegin insert into
tb_pessoas ( pes_cnpj_cpf, pes_ie_rg, pes_nome, pes_rua,
pes_bairro, pes_cidade, pes_estado, pes_cep, pes_telefone,
pes_fax, pes_contato, pes_email, pes_tipo, pes_obs) values (
upper(:pes_cnpj_cpf), upper(:pes_ie_rg), upper(:pes_nome),
upper(:pes_rua), upper(:pes_bairro), upper(:pes_cidade),
upper(:pes_estado), upper(:pes_cep), upper(:pes_telefone),
upper(:pes_fax), upper(:pes_contato), lower(:pes_email),
upper(:pes_tipo), upper(:pes_obs));end
_________________________________________________________________
Receba as últimas notícias do Brasil e do mundo direto no seu Messenger com
Alertas MSN! É GRÁTIS!
http://alertas.br.msn.com/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.485 / Virus Database: 269.13.14/999 - Release Date: 10/9/2007
17:43
Mais detalhes sobre a lista de discussão lista