create or replace PROCEDURE in_param
(rut number,dv char,nombre varchar2,paterno varchar2,materno varchar2 )
IS
--variables
err_num number;
err_msg varchar2(255);
campos varchar2(255);
BEGIN
/*Insercion de datos*/
insert into acliente values (rut,dv,nombre,paterno,materno);
dbms_output.put_line('Los datos fueron ingresados correctamente');
/*Muestra de datos*/
select cli_rut ||'-'|| cli_dv ||' NOMBRE: '|| cli_nombres ||' APELLIDO: '||
cli_paterno ||' '|| cli_materno ||'.'
into campos from acliente where cli_rut = rut;
dbms_output.put_line('RUT: ' || campos);
/*Modificacion de datos*/
--modicando datos
update acliente
set cli_nombres = paterno || materno
where cli_rut = rut;
--mostrando los datos modificados
select cli_rut ||'-'|| cli_dv ||' NOMBRE: '|| cli_nombres ||' APELLIDO: '||
cli_paterno ||' '|| cli_materno ||'.'
into campos from acliente where cli_rut = rut;
dbms_output.put_line('RUT: ' || campos);
/*Eliminacion de campos*/
--se muestra todos los datos
delete from acliente
where cli_rut = rut;
dbms_output.put_line('Datos ingresados ELIMINADOS');
exception
when DUP_VAL_ON_INDEX then
dbms_output.put_line('Ha tratado de ingresar una clave duplicada');
when others then
err_num := sqlcode;
err_msg := sqlerrm;
dbms_output.put_line('Error: ' || to_char(err_num));
dbms_output.put_line(err_msg);
END in_param;
--Para llamar este proc solo se escribe:
DECLARE
BEGIN
in_param(12345678,'k','nom','pat','mat'); -- se envian parametros
END;
/