[firebase-br] ERRO NA SP - PRAZO DE ENTREGA EXPIRANDO !!!!

Cristiano Rebonatto crebonatto em upf.br
Sex Fev 24 10:15:46 -03 2006


Esse erro acontece quando vc tem um select com INTO e o número de 
colunas retornado no  SELECT é diferente do número de colunas do INTO.
Ex.

Select A,
          B,
          C,
          D
from tabela into V_A,
                         V_B,
                         V_C

ou

Select A,
          B,
          C
from tabela into V_A,
                         V_B,
                         V_C,
                          V_D




Rodrigo - Winsoft escreveu:

>BOM DIA GALERA...
>
>TENHO AS SEGUINTES TABELAS:
>
>
>CREATE TABLE PRODUTO (
>    CPRODUTO          VARCHAR(15) NOT NULL COLLATE PXW_INTL850,
>    NPRODUTO          VARCHAR(200) NOT NULL COLLATE PXW_INTL850
>);
>
>
>CREATE TABLE ESTOQUE (
>    CPRODUTO            VARCHAR(15) NOT NULL COLLATE PXW_INTL850,
>    CEMPRESA            D_CODIGO,
>    EST_LOJA            NUMERIC(18,3) NOT NULL,
>    EST_DEPO            NUMERIC(18,3) DEFAULT 0 NOT NULL
>);
>
>
>CREATE TABLE REL_ESTOQUE (
>    CPRODUTO  D_CODPRODUTO,
>    D3        D_VALOR3, /* CORRESPONDE AO ESTOQUE DEPOSITO DA EMPRESA DE COD. 3
>    L3        D_VALOR3, /* CORRESPONDE AO ESTOQUE LOJA DA EMPRESA DE COD. 3
>    D5        D_VALOR3, /* CORRESPONDE AO ESTOQUE DEPOSITO DA EMPRESA DE COD. 5
>    L5        D_VALOR3, /* CORRESPONDE AO ESTOQUE LOJA DA EMPRESA DE COD. 5
>    D8        D_VALOR3, /* CORRESPONDE AO ESTOQUE DEPOSITO DA EMPRESA DE COD. 8 
>    L8        D_VALOR3, /* CORRESPONDE AO ESTOQUE LOJA DA EMPRESA DE COD. 8
>    D10       D_VALOR3, /* CORRESPONDE AO ESTOQUE DEPOSITO DA EMPRESA DE COD. 10
>    L10       D_VALOR3  /* CORRESPONDE AO ESTOQUE LOJA DA EMPRESA DE COD. 10
>);
>
>
>estou criando a store procedure abaixo
>
>CREATE PROCEDURE GERAR_ESTOQUE_GERAL (
>    PEST_LOJA FLOAT,
>    PEST_DEPO FLOAT,
>    PCEMPRESA INTEGER,
>    PCPRODUTO VARCHAR(15))
>AS
>begin
>  /* CRIAR OS PRODUTOS NA TABELA DE REL_ESTOQUE */
>  for
>    select P.CProduto from PRODUTO P order by P.CProduto into :PCPRODUTO
>  do begin
>    insert into REL_ESTOQUE(CPRODUTO, D3, L3, D5, L5, D8, L8, L10, D10)
>    values(:PCPRODUTO, 0, 0, 0, 0, 0, 0, 0, 0);
>  end
>
>
>  /* select na tabela de estoque */
>  for
>    select E.* from ESTOQUE E order by E.CPRODUTO into :PCPRODUTO, :PCEMPRESA, :PEST_LOJA, :PEST_DEPO
>  do begin
>    /* VERIFICAR SE EXISTE O PRODUTO, SEMPRE VAI EXISTIR, POIS INCLUO NA PARTE DE CIMA */ 
> 
>    if (exists (select RE.* from REL_ESTOQUE RE where RE.CPRODUTO = :PCPRODUTO)) then
>    begin
>      /*  VERIFICAR QUAL É A EMPRESA */   
>      if (:PCEMPRESA = 3) then
>      begin
>        update REL_ESTOQUE set L3 = (L3 + :PEST_LOJA ), D3 = (D3 + :PEST_DEPO) where CPRODUTO = :PCPRODUTO;
>      end
>
>      if (:PCEMPRESA = 5) then
>      begin
>        update REL_ESTOQUE set L5 = (L5 + :PEST_LOJA ), D5 = (D5 + :PEST_DEPO) where CPRODUTO = :PCPRODUTO;
>      end
>
>      if (:PCEMPRESA = 8) then
>      begin
>        update REL_ESTOQUE set L8 = (L8 + :PEST_LOJA ), D8 = (D8 + :PEST_DEPO) where CPRODUTO = :PCPRODUTO;
>      end
>
>      if (:PCEMPRESA = 10) then
>      begin
>        update REL_ESTOQUE set L10 = (L10 + :PEST_LOJA ), D10 = (D10 + :PEST_DEPO) where CPRODUTO = :PCPRODUTO;
>      end
>    end
>  end
>
>  suspend;
>end
>
>
>
>ESTA ME RETORNADO O SEGUINTE ERRO:
>
>count of column list and variable list do not match.
>Dynamic SQL Error.
>SQL error code = -313.
>count of column list and variable list do not match.
>
>
>sERÁ Q ALGUEM SABE O Q ESTÁ ACONTECENDO...
>SEI Q É MEIO COMPLICADO, MAS É UM POUCO URGENTE !!!
>
>sE ALGUEM PUDER ME AJUDAR......
>
>
>Obrigado.
>
>Rodrigo Pedroso
>Winsoft Informática - (14) 3664-1586
>rodrigo em netalfa.com.br
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
>  
>

-- 
+-----------------------------------------------------------+
 Cristiano Rebonatto 
 Setor de Análise e Desenvolvimento             
 Divisão de Tecnologia da Informação 
 Universidade de Passo Fundo
 Passo Fundo - RS
+-----------------------------------------------------------+





Mais detalhes sobre a lista de discussão lista