DBMS Codes
DBMS Codes
3.**Cursor
CREATE TABLE students (id NUMBER PRIMARY KEY,name
VARCHAR2(50),department VARCHAR2(50));
INSERT INTO students VALUES (1, 'Anil', 'Computer');
INSERT INTO students VALUES (2, 'Bhavesh', 'Mechanical');
INSERT INTO students VALUES (3, 'Chentan', 'Computer');
INSERT INTO students VALUES (4, 'Dia', 'Electrical');
INSERT INTO students VALUES (5, 'Elena', 'Computer');
DECLARE
CURSOR comp_students IS
SELECT * FROM students WHERE department = 'Computer';
student_record students%ROWTYPE;
BEGIN
OPEN comp_students;
LOOP
FETCH comp_students INTO student_record;
EXIT WHEN comp_students%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('ID: ' || student_record.id || ', Name: ' ||
student_record.name);
END LOOP;
CLOSE comp_students;
END;
/
5.**FUNCTION
CREATE OR REPLACE FUNCTION max_value(a NUMBER, b NUMBER)
RETURN NUMBER IS
BEGIN
IF a > b THEN
RETURN a;
ELSE
RETURN b;
END IF;
END;
/
DECLARE
val1 NUMBER := 10;
val2 NUMBER := 20;
result NUMBER;
BEGIN
result := max_value(val1, val2);
DBMS_OUTPUT.PUT_LINE('Maximum value: ' || result);
END;
/
6.**Trigger
CREATE OR REPLACE TRIGGER dept_update_trigger
AFTER UPDATE ON department
FOR EACH ROW
BEGIN
DBMS_OUTPUT.PUT_LINE('Department record updated. Old Name: ' ||
:OLD.name || ', New Name: ' || :NEW.name);
END;
/