Prerrequisitos – Introducción a PL/SQL , PL/SQL | Entrada del usuario
Escriba un código PL/SQL que aceptará un número de cuenta del usuario. Verifique si el saldo del usuario es inferior al saldo mínimo que solo deduzca Rs 100 del saldo. El proceso se activa en acct_mstr.
Ejemplo: considere el siguiente escenario,
acct_master (acct_no number(5) primary key, acct_name varchar2(10), balance number(10));
Primero, debe crear la tabla acct_master,
# CREATING table acct_master create table acct_master(acct_no number(5) primary key, acct_name varchar2(10), balance number(10));
Inserte estos datos en la tabla,
# INSERTING data in acct_mstr insert into acct_master values(1, 'aaa', 1000) insert into acct_master values(2, 'bbb', 100) insert into acct_master values(3, 'ccc', 1100) insert into acct_master values(4, 'ddd', 700) insert into acct_master values(5, 'eee', 1700)
Enfoque utilizado –
- Paso 1: Declarar variables y establecer un saldo mínimo en una variable.
- Paso 2: Tome la entrada del número de cuenta del usuario.
- Paso 3: seleccione el saldo de ese usuario en una variable.
- Paso 4: compruebe si el saldo es inferior al saldo mínimo o no.
- Paso 5: si el saldo es menor, actualice el saldo en la tabla con saldo = saldo -100 y muestre el saldo después de deducir 100 de esa variable en la que se almacenó el saldo. Luego, muestre la salida.
- Paso 6: De lo contrario, simplemente imprima el valor.
Tenga en cuenta que todo el texto en color verde son comentarios.
A continuación se muestra la implementación requerida:
-- DECLARING VARIABLES DECLARE xacct_no number(5); -- here, minimum balance is set to 1000; xmin_bal number(5):=1000; xbalance number(5); BEGIN -- taking input from user xacct_no:=&xacct_no; -- selecting balance of that user INTO "xbalance"; select balance into xbalance from acct_master where acct_no=xacct_no; -- if condition true, updating balance -- with balance = balance - 100 IF(xbalance < xmin_bal) THEN --condition check update acct_master set balance=balance-100 where acct_no=xacct_no; -- remaining amount xbalance:=xbalance-100; dbms_output.put_line('Rs 100 is deducted and current balance is '||xbalance); -- if condition is false ELSE dbms_output.put_line('Current balance is '||xbalance); --ENDING IF END IF; -- ENDING OF BEGIN END; / -- FOR DISPLAYING OUTPUT IN SCREEN
Producción:
Enter value for xacct_no: 2 old 6: xacct_no:=&xacct_no; new 6: xacct_no:=2; Rs 100 is deducted and current balance is 0 PL/SQL procedure successfully completed. SQL> / Enter value for xacct_no: 3 old 6: xacct_no:=&xacct_no; new 6: xacct_no:=3; Current balance is 1100 PL/SQL procedure successfully completed.
Publicación traducida automáticamente
Artículo escrito por Rohit_ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA