GARANTIR DESCONTO

Fórum storedprocedure generator atual #50409

08/04/2005

0

ola amigos tenho a sequinte procedure

CREATE PROCEDURE MANUTENCAO_DE_EMPRESA (
I_TIPO VARCHAR(1),
I_USU INTEGER,
I_EMP INTEGER,
I_COD VARCHAR(40),
I_RAZAO VARCHAR(40),
I_NOME_F VARCHAR(40),
I_ENDE VARCHAR(40),
I_BAIRRO VARCHAR(40),
I_CIDADE VARCHAR(40),
I_ESTADO VARCHAR(2),
I_CEP VARCHAR(9),
I_TEL1 VARCHAR(18),
I_TEL2 VARCHAR(18),
I_TEL3 VARCHAR(18),
I_CNPJ VARCHAR(18),
I_INSC VARCHAR(18),
I_MAIL VARCHAR(100),
I_HOME VARCHAR(100),
I_PATH VARCHAR(100))
AS
BEGIN
IF (:I_TIPO = ´I´) THEN
BEGIN
INSERT INTO EMPRESAS(
EMPRESAS.RAZAO_SOCIAL,
EMPRESAS.NOME_FANTASIA,
EMPRESAS.ENDERECO,
EMPRESAS.BAIRRO,
EMPRESAS.CIDADE,
EMPRESAS.ESTADO,
EMPRESAS.CEP,
EMPRESAS.TELEFONE1,
EMPRESAS.TELEFONE2,
EMPRESAS.TELEFONE3,
EMPRESAS.CNPJ,
EMPRESAS.INSC_EST,
EMPRESAS.E_MAIL,
EMPRESAS.HOME_PAGE,
EMPRESAS.PATH_IMAGEM)
VALUES(
:I_RAZAO,
:I_NOME_F,
:I_ENDE,
:I_BAIRRO,
:I_CIDADE,
:I_ESTADO,
:I_CEP,
:I_TEL1,
:I_TEL2,
:I_TEL3,
:I_CNPJ,
:I_INSC,
:I_MAIL,
:I_HOME,
:I_PATH);

INSERT INTO USUARIO_LOG (USUARIO_LOG.CODIGO_USUARIO,
USUARIO_LOG.CODIGO_EMPRESA,
USUARIO_LOG.ACAO,
USUARIO_LOG.NA_TABELA,
USUARIO_LOG.REGISTRO,
USUARIO_LOG.DESCRICAO_COMPLETA)
VALUES(:I_USU,
:I_EMP,
´INSERIU NA TABELA ´,
´EMPRESAS´,
select gen_id(gen_empresas_id, 0),
´ESTA INSERÇÃO OCORREU AS ´||CURRENT_TIMESTAMP);
END
end


na linha select gen_id(gen_empresas_id, 0), da um erro na compilação

qual a melhor forma e pegar o generator???

Obrigado


Uiliangurjon

Uiliangurjon

Responder

Posts

08/04/2005

Gandalf.nho

Nunca fiz isso, mas acho que vc deve tirar o SELECT da linha do gen_id, assim: gen_id(gen_empresas_id, 0)


Responder

Gostei + 0

10/04/2005

Uiliangurjon

ja tentei e não conpila a procedure!!!


Responder

Gostei + 0

11/04/2005

Afarias

Qual a mensagem de erro?


T+


Responder

Gostei + 0

14/04/2005

Uiliangurjon

Não consigo compilar a procedure !!!


Responder

Gostei + 0

14/04/2005

Beppe

Tenta assim:
CREATE PROCEDURE MANUTENCAO_DE_EMPRESA (
    I_TIPO VARCHAR(1),
    I_USU INTEGER,
    I_EMP INTEGER,
    I_COD VARCHAR(40),
    I_RAZAO VARCHAR(40),
    I_NOME_F VARCHAR(40),
    I_ENDE VARCHAR(40),
    I_BAIRRO VARCHAR(40),
    I_CIDADE VARCHAR(40),
    I_ESTADO VARCHAR(2),
    I_CEP VARCHAR(9),
    I_TEL1 VARCHAR(18),
    I_TEL2 VARCHAR(18),
    I_TEL3 VARCHAR(18),
    I_CNPJ VARCHAR(18),
    I_INSC VARCHAR(18),
    I_MAIL VARCHAR(100),
    I_HOME VARCHAR(100),
    I_PATH VARCHAR(100))
AS
DECLARE
    emp_new_id BITGINT;
BEGIN
   IF (:I_TIPO = ´I´) THEN
      BEGIN
         INSERT INTO EMPRESAS(
                              EMPRESAS.RAZAO_SOCIAL,
                              EMPRESAS.NOME_FANTASIA,
                              EMPRESAS.ENDERECO,
                              EMPRESAS.BAIRRO,
                              EMPRESAS.CIDADE,
                              EMPRESAS.ESTADO,
                              EMPRESAS.CEP,
                              EMPRESAS.TELEFONE1,
                              EMPRESAS.TELEFONE2,
                              EMPRESAS.TELEFONE3,
                              EMPRESAS.CNPJ,
                              EMPRESAS.INSC_EST,
                              EMPRESAS.E_MAIL,
                              EMPRESAS.HOME_PAGE,
                              EMPRESAS.PATH_IMAGEM)
                VALUES(
                         :I_RAZAO,
                         :I_NOME_F,
                         :I_ENDE,
                         :I_BAIRRO,
                         :I_CIDADE,
                         :I_ESTADO,
                         :I_CEP,
                         :I_TEL1,
                         :I_TEL2,
                         :I_TEL3,
                         :I_CNPJ,
                         :I_INSC,
                         :I_MAIL,
                         :I_HOME,
                         :I_PATH);

                emp_new_id = gen_id(gen_empresas_id, 0);
                INSERT INTO USUARIO_LOG (USUARIO_LOG.CODIGO_USUARIO,
                                         USUARIO_LOG.CODIGO_EMPRESA,
                                         USUARIO_LOG.ACAO,
                                         USUARIO_LOG.NA_TABELA,
                                         USUARIO_LOG.REGISTRO,
                                         USUARIO_LOG.DESCRICAO_COMPLETA)
                               VALUES(:I_USU,
                                      :I_EMP,
                                      ´INSERIU NA TABELA ´,
                                      ´EMPRESAS´,
                                      emp_new_id,
                                      ´ESTA INSERÇÃO OCORREU AS ´||CURRENT_TIMESTAMP);
      END
end



Responder

Gostei + 0

15/04/2005

Afarias

Não consigo compilar a procedure !!!


Pois é... essa mensagem de erro eu nunca vi... tem certeza q é do Interbase?

:roll: :roll:


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar