erro ORA-06550: línea 52, columna 15

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
bart_wagner
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 18
Registrado em: Sáb, 09 Jun 2007 7:41 am
Localização: Peruibe - SP

quando vou utilizar os cursores da um erro que não consigo indentificar

Selecionar tudo

ORA-06550: línea 52, columna 15:
PLS-00402: alias necesario en lista SELECT de cursor para evitar duplicar nombres de columna
ORA-06550: línea 52, columna 15:
PL/SQL: Statement ignored
ORA-06550: línea 58, columna 12:
PLS-00402: alias necesario en lista SELECT de cursor para evitar duplicar nombres de columna
ORA-06550: línea 58, columna 12:
PL/SQL: Statement ignored
nisto

Selecionar tudo

declare
CURSOR C_CASH_INVOICES IS
       select  
	       btbr.invoice_number,
		   btbr.txt_fed_gov_tax_number,
		   apin.invoice_num,
		   apin.vendor_id,
		   apin.vendor_site_id,
		   pove.vendor_id,
		   pove.GLOBAL_ATTRIBUTE10, 
		   pove.GLOBAL_ATTRIBUTE11,
		   pove.GLOBAL_ATTRIBUTE12,
		   pove.vendor_site_id
	   from 
                   btbr_cash_invoice_20081002       btbr
        inner join ap_invoices_all                  apin
                on btbr.invoice_number = apin.invoice_num
        inner join po_vendor_sites_all              pove
                on apin.vendor_id = pove.vendor_id
	         where pove.GLOBAL_ATTRIBUTE10 || pove.GLOBAL_ATTRIBUTE11 || pove.GLOBAL_ATTRIBUTE12 
                   = '0' || btbr.txt_fed_gov_tax_number
	           and pove.vendor_site_id = apin.vendor_site_id;   
cursor C_CASH_INVOICE_ri is
       select 
	       btbr.invoice_number,
		   btbr.txt_fed_gov_tax_number,
		   btbr.TOTAL_AMOUNT,
		   btbr.invoice_date,
           reci.invoice_num,
		   reci.ENTITY_ID,
		   reci.invoice_amount,
		   reci.invoice_date,   
		   refi.entity_id,
		   refi.vendor_site_id,
		   pove.vendor_site_id,
		   pove.GLOBAL_ATTRIBUTE10,
		   pove.GLOBAL_ATTRIBUTE11,
		   pove.GLOBAL_ATTRIBUTE12 
	from 
                   btbr_cash_invoice_20081002     btbr
        inner join rec_invoices                   reci
                on btbr.invoice_number = reci.invoice_num
        inner join rec_fiscal_entities_all        refi
                on reci.ENTITY_ID = refi.entity_id
        inner join po_vendor_sites_all            pove
                on pove.vendor_site_id = refi.vendor_site_id
             where reci.invoice_amount = btbr.TOTAL_AMOUNT
               and reci.invoice_date = btbr.invoice_date
	           and pove.GLOBAL_ATTRIBUTE10 || pove.GLOBAL_ATTRIBUTE11 || pove.GLOBAL_ATTRIBUTE12 
                   = '0' || btbr.txt_fed_gov_tax_number;  
        BEGIN
              FOR S_INV IN C_CASH_INVOICES LOOP
	              UPDATE BTBR_CASH_INVOICE_20081002
                     SET FLG_ORACLE             = 1
                   WHERE INVOICE_NUMber         = S_INV.invoice_number 
                     AND txt_fed_gov_tax_number = S_INV.txt_fed_gov_tax_number;
	          end loop;
	          FOR S_INV_ri IN C_CASH_INVOICE_ri LOOP
	              UPDATE BTBR_CASH_INVOICE_20081002 
                     SET FLG_ORACLE             = 1
                   WHERE INVOICE_NUMber         = S_INV_ri.invoice_number 
                     AND txt_fed_gov_tax_number = S_INV_ri.txt_fed_gov_tax_number;
	      end loop;
        end;
/
alguém poderia me ajudar

desde já agradeço a ajuda
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5018
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Você tem duas colunas com o mesmo nome!

Selecionar tudo

         refi.vendor_site_id,
         pove.vendor_site_id, 
Cara, que engraçado esse teu banco aí em ESPANHOL heheheh

:-o
bart_wagner
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 18
Registrado em: Sáb, 09 Jun 2007 7:41 am
Localização: Peruibe - SP

Selecionar tudo

declare
CURSOR C_CASH_INVOICES IS
       select  
	       btbr.invoice_number,
		   btbr.txt_fed_gov_tax_number,
		   apin.vendor_id,
		   pove.GLOBAL_ATTRIBUTE10, 
		   pove.GLOBAL_ATTRIBUTE11,
		   pove.GLOBAL_ATTRIBUTE12,
		   pove.vendor_site_id
	   from 
                   btbr_cash_invoice_20081002       btbr
        inner join ap_invoices_all                  apin
                on btbr.invoice_number = apin.invoice_num
        inner join po_vendor_sites_all              pove
                on apin.vendor_id = pove.vendor_id
	         where pove.GLOBAL_ATTRIBUTE10 || pove.GLOBAL_ATTRIBUTE11 || pove.GLOBAL_ATTRIBUTE12 
                   = '0' || btbr.txt_fed_gov_tax_number
	           and pove.vendor_site_id = apin.vendor_site_id;   
cursor C_CASH_INVOICE_ri is
       select 
	       btbr.invoice_number,
		   btbr.txt_fed_gov_tax_number,
		   reci.ENTITY_ID,
		   reci.invoice_amount,
		   reci.invoice_date,   
		   refi.entity_id,
		   pove.vendor_site_id,
		   pove.GLOBAL_ATTRIBUTE10,
		   pove.GLOBAL_ATTRIBUTE11,
		   pove.GLOBAL_ATTRIBUTE12 
	from 
                   btbr_cash_invoice_20081002     btbr
        inner join rec_invoices                   reci
                on btbr.invoice_number = reci.invoice_num
        inner join rec_fiscal_entities_all        refi
                on reci.ENTITY_ID = refi.entity_id
        inner join po_vendor_sites_all            pove
                on pove.vendor_site_id = refi.vendor_site_id
             where reci.invoice_amount = btbr.TOTAL_AMOUNT
               and reci.invoice_date = btbr.invoice_date
	           and pove.GLOBAL_ATTRIBUTE10 || pove.GLOBAL_ATTRIBUTE11 || pove.GLOBAL_ATTRIBUTE12 
                   = '0' || btbr.txt_fed_gov_tax_number;  
        BEGIN
              FOR S_INV IN C_CASH_INVOICES LOOP
	              UPDATE BTBR_CASH_INVOICE_20081002
                     SET FLG_ORACLE             = 1
                   WHERE INVOICE_NUMber         = S_INV.invoice_number 
                     AND txt_fed_gov_tax_number = S_INV.txt_fed_gov_tax_number;
	          end loop;
	          FOR S_INV_ri IN C_CASH_INVOICE_ri LOOP
	              UPDATE BTBR_CASH_INVOICE_20081002 
                     SET FLG_ORACLE             = 1
                   WHERE INVOICE_NUMber         = S_INV_ri.invoice_number 
                     AND txt_fed_gov_tax_number = S_INV_ri.txt_fed_gov_tax_number;
	      end loop;
        end;
/

Selecionar tudo

ORA-06550: línea 51, columna 12:
PLS-00402: alias necesario en lista SELECT de cursor para evitar duplicar nombres de columna
ORA-06550: línea 51, columna 12:
PL/SQL: Statement ignored
estou começando a mexer com pl/sql
tenho muito a aprender
bart_wagner
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 18
Registrado em: Sáb, 09 Jun 2007 7:41 am
Localização: Peruibe - SP

cara descobri o erro muito obrigado
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes