Dúvida sobre variáveis de substituição em PL/SQL

1 resposta
T

Olá pessoal!

Tenho uma dúvida que talvez seja simples para vocês, mas para mim, que estou iniciando em PL/SQL é um problema! rss

Seguinte: Preciso fazer um programa que receba 2 valores do usuário através de variáveis de substituição, uma para o salário e outra para o bonus. O programa deve apenas somar estes dois valores e apresentar o resultado. Até aqui sem problema. No entanto, deve haver tratamento de nulos para os valores, de forma que, se o usuário digitar um valor nulo o programa substitua esse valor por um valor default não nulo, ou que pelo menos o programa exiba uma mensagem de erro pedindo para o usuário digitar um valor válido.

Estou tentando fazer o seguinte, mas dá erro:
[i]
SET SERVEROUTPUT ON
ACCEPT sa PROMPT 'Digite o salario anual: '
ACCEPT bo PROMPT 'Digite o bonus a ser concedido: ’

DECLARE

sal NUMBER (7,2):= &sa;

bon NUMBER (6,2):=&bo;

salfinal NUMBER (8,2);

BEGIN

IF sal IS NULL

THEN sal := 1000;

END IF;
IF bon IS NULL

THEN bon := 100;

END IF;

salfinal := sal+bon;

DBMS_OUTPUT.PUT_LINE('Com bonus deu: ’ || salfinal);

END;
/[/i]

Desde já, grato!!!

1 Resposta

T

Consegui resolver pessoal! Fiz assim:

DECLARE
  sal NUMBER (7,2) := NVL(to_number('&sa'),1000);
  bon NUMBER (6,2) := NVL(to_number('&bo'),100);
  salfinal NUMBER (8,2);
BEGIN
  salfinal := sal+bon;
  DBMS_OUTPUT.PUT_LINE('Com bonus deu: ' || salfinal);
END;
/

Crédito para os users burga da GPO e Motta da iMasters, valew!!!

Criado 21 de agosto de 2010
Ultima resposta 22 de ago. de 2010
Respostas 1
Participantes 1