CREATE OR REPLACE PACKAGE emp_sal AS
PROCEDURE find_sal(veno emp.eno%type);
END emp_sal;
/
Easy Learning... (Web Development,.NET Technology,Oracle,Silverlight,REST,SQL,Oracle,MySQL,Data Science, Python and many more ...)
CREATE OR REPLACE PACKAGE emp_sal AS
PROCEDURE find_sal(veno emp.eno%type);
END emp_sal;
/
set serveroutput on
DECLARE
veno emp.eno%type;
vename emp.ename%type;
vesalary emp.esalary%type;
BEGIN
veno := '&veno';
SELECT ename, esalary INTO vename, vesalary
FROM emp
WHERE eno = veno;
DBMS_OUTPUT.PUT_LINE ('Name: '|| vename);
DBMS_OUTPUT.PUT_LINE ('Salary: ' || vesalary);
EXCEPTION
WHEN NO_DATA_FOUND THEN
dbms_output.put_line('No such employee!');
WHEN NOT_LOGGED_ON THEN
dbms_output.put_line('user not logged in ');
WHEN TOO_MANY_ROWS THEN
dbms_output.put_line('multiple records found');
WHEN VALUE_ERROR THEN
dbms_output.put_line('value type of size not appropriate');
WHEN others THEN
dbms_output.put_line('Error!');
END;
/
SET serveroutput On
DECLARE
veno emp.eno%type;
vename emp.ename%type;
ex_invalid_no EXCEPTION;
BEGIN
veno := '&veno';
IF substr(veno,1,1) <> 'E' THEN
RAISE ex_invalid_no;
ELSE
SELECT ename INTO vename
FROM emp
WHERE eno = veno;
DBMS_OUTPUT.PUT_LINE ('Name: '|| vename);
END IF;
EXCEPTION
WHEN ex_invalid_no THEN
dbms_output.put_line('ID must start with E');
END;
/