NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

--@E:amreetUserCreate.txt
/*
NAME: Amrit Thapa
ID: 18406540
WEEK:14
Activity : 1
DATE:
*/

--Creating a procedures to calla function name func_instructor_ct
SET SERVEROUTPUT ON

--create a function func_instructor_ct which return no of instructor
CREATE FUNCTION func_instructor_ct RETURN NUMBER IS
vn_instructor_ct NUMBER(3);
BEGIN
SELECT COUNT(*)
INTO vn_instructor_ct
FROM instructors;
RETURN vn_instructor_ct;
END func_instructor_ct;
/--FUNCTION CREATED

--VIEW ERRORS
SHOW ERRORS;

--create the procedure to test the function which print the no of instructor
CREATE OR REPLACE PROCEDURE proc_using_func IS
vn_no_of_instructors NUMBER(3);
--vN prefix is used for the new variable because we are storing NUMBER data
BEGIN
vn_no_of_instructors := func_instructor_ct;
DBMS_OUTPUT.PUT_LINE ('There are ' || vn_no_of_instructors || ' instructor(s) in the database.');
END proc_using_func;--END OF THE PROCEDURE
/

--testing
-- 1) Select without execute
SELECT * FROM instructors;
--14 rows returned

-- 2) Execute the procedure
EXEC proc_using_func;

-- 3)Select after execute
SELECT * FROM instructors;
--14 rows returned

--create a function func_instructor_ct which return
CREATE FUNCTION func_param_ct(in_salary instructors.salary%TYPE) RETURN NUMBER IS
vn_instructor_ct NUMBER(3);
BEGIN
SELECT COUNT(salary)
INTO vn_instructor_ct
FROM instructors
WHERE salary > in_salary;
RETURN vn_instructor_ct;
END func_param_ct;
/
--FUNCTION CREATED

--create the procedure to test the function which print the no of instructor
CREATE OR REPLACE PROCEDURE proc_param_using_func(in_salary instructors.salary%TYPE) IS
vn_no_of_instructors NUMBER(3);
--vN prefix is used for the new variable because we are storing NUMBER data
BEGIN
vn_no_of_instructors := func_param_ct(in_salary);
DBMS_OUTPUT.PUT_LINE ('There are ' || vn_no_of_instructors || ' instructor(s) in the database.');
END proc_param_using_func;
/

--testing
-- 1) Select without execute
SELECT * FROM instructors;
--14 rows returned

-- 2) Execute the procedure
EXEC proc_param_using_func;

-- 3)Select after execute
SELECT * FROM instructors;
--14 rows returned











--CREATE A TABLE STAFF
CREATE TABLE staff(
staff_id NUMBER(6),
firstname VARCHAR2(15),
surname VARCHAR2(15),
username VARCHAR2(10));

--INSERT INTO TABLE STAFF
INSERT INTO staff VALUES (1000, 'ALISON','APPLE', NULL);
INSERT INTO staff VALUES (1001, 'BERTY','BANANA', NULL);
INSERT INTO staff VALUES (1002, 'CANDY','CANE', NULL);

--CREATE A FUNCTION TO CREATE A USERNAME FROM THE FIRST NAME AND THE SURNAME OF THE TABLE STAFF
CREATE FUNCTION func_staff(in_staff_id NUMBER) RETURN VARCHAR2 IS
vc_stff_un VARCHAR2(10);
BEGIN
SELECT CONCAT(SUBSTR(firstname,1,2),SUBSTR(surname,1,5))
INTO vc_stff_un
FROM staff
WHERE staff_id = in_staff_id;
RETURN vc_stff_un;
END func_staff;
/

--FIND THE ERRORS
SHOW ERRORS;

--CREATE A PROCEDURE FOR A FUNCTION func_staff TO EXECUTE THE FUNCTION
CREATE OR REPLACE PROCEDURE proc_staff(in_staff_id staff.staff_id%TYPE) IS
vc_staff_username staff.username%TYPE;
--vc prefix is used for the new variable because we are storing varchar2(string) data
BEGIN
vc_staff_username := func_staff(in_staff_id);
UPDATE staff SET username = vc_staff_username
WHERE staff_id = in_staff_id;
END proc_staff;--END OF THE PROCEDURE
/

--TESTING
-- 1)BEFORE EXECUTING THE PROCEDURE
SELECT * FROM STAFF;
--3 rows return where username is null

-- 2) EXECUTING THE PROCEDURE PROC_STAFF
EXEC PROC_STAFF(1000);

-- 3) AFTER EXECUTING THE PROCEDURE
SELECT * FROM STAFF;
-- 3 rows return where the 1000 staff_id has a username ALAPPLE


     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.