Jump to content


Photo

Penando Com Erro, Ajudem!


  • Faça o login para participar
2 replies to this topic

#1 Jola

Jola

    Turista

  • Usuários
  • 49 posts
  • Sexo:Masculino

Posted 19/03/2009, 16:01

Preciso fazer uma procedure para reajustar todos os produtos de acordo com uma porcentagem a ser informada. Validar para não aceitar porcentagem acima de 500 nem igual ou menor a zero.

CREATE OR REPLACE PROCEDURE atualiza_valor
(v_entrada number)
IS
BEGIN
	SELECT valor_unitario_venda, codigo_produto
	FROM produto2
	ORDER BY codigo_produto asc;
	linhas := select count (*) from produto2;
	i number := 1;
WHILE (i < linhas)
loop
	percent := v_entrada / 100;
	novo_valor := v_valor * percent;
return novo_valor;
i := i + 1;
END LOOP;

O erro que dá:
ERROR na linha 16: PLS-00103: Encontrado o símbolo "END" quando um dos seguintes símbolos era esperado:

begin function package pragma procedure subtype type use

form current
cursor


Aonde eu estou errando galera? :huh:
Por favor me ajudem

Abraços, agradeço desde já!


#2 DiegoCoruja

DiegoCoruja

    12 Horas

  • Usuários
  • 178 posts
  • Sexo:Masculino
  • Localidade:São Vicente - SP
  • Interesses:PROGRAMAÇÃO, WEB DESIGN, ESPORTE,

Posted 20/03/2009, 13:46

está faltando 1 end
depois do end loop; que fecho o begin
====================================================
Diego M.
Html, CSS, Javascript, Asp, Asp.net, Php, Sql Server, Mysql, Oracle, VB.NET, VBA
====================================================

#3 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 21/03/2009, 12:52

Na parte:
linhas := select count (*) from produto2;

Onde você definiu 'linhas' (assim como outras variáveis na procedure)? E detalhe, o correto é usar o INTO nessa atribuição, e declarar o 'linhas' antes do BEGIN.
Exemplo:
SELECT COUNT(*) INTO linhas FROM produtos2;

Para o 'i number := 1;', faça a mesma coisa que eu mencionei acima a respeito de colocar antes do BEGIN.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq