0% found this document useful (0 votes)
13 views7 pages

10

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views7 pages

10

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

10---

CREATE TABLE geeks (

g_id INT,

g_name VARCHAR2(20),

marks INT

);

INSERT INTO geeks VALUES (1, 'Suraj', 100);

INSERT INTO geeks VALUES (2, 'Praveen', 97);

INSERT INTO geeks VALUES (3, 'Jessie', 99);

DECLARE

temp VARCHAR2(20);

BEGIN

SELECT g_id INTO temp

FROM geeks

WHERE g_name = 'Table'; -- This is the changed name (GeeksforGeeks


changed to 'Table')

EXCEPTION

WHEN no_data_found THEN

dbms_output.put_line('ERROR');

dbms_output.put_line('there is no name as');

dbms_output.put_line('Table in geeks table');

END;

9------
--BEFORE INSERT

CREATE TABLE G (

Id INT,

Name VARCHAR2(20),

Score INT

);

INSERT INTO G (Id, Name, Score) VALUES (1, 'Sam', 800);

INSERT INTO G (Id, Name, Score) VALUES (2, 'Ram', 699);

INSERT INTO G (Id, Name, Score) VALUES (3, 'Tom', 250);

INSERT INTO G (Id, Name, Score) VALUES (4, 'Om', 350);

INSERT INTO G (Id, Name, Score) VALUES (5, 'Jay', 750);

CREATE TABLE Affect (

Id INT,

Name VARCHAR2(20),

Score INT

);

CREATE OR REPLACE TRIGGER BEFORE_INSERT

BEFORE INSERT ON G

FOR EACH ROW

BEGIN

INSERT INTO Affect (Id, Name, Score)

VALUES (:NEW.Id, :NEW.Name, :NEW.Score);

END;

INSERT INTO G (Id, Name, Score) VALUES (6, 'Arjun', 500);


--BEFORE DELETE

CREATE TABLE G (

Id INT,

Name VARCHAR2(20),

Score INT

);

INSERT INTO G (Id, Name, Score) VALUES (1, 'Sam', 800);

INSERT INTO G (Id, Name, Score) VALUES (2, 'Ram', 699);

INSERT INTO G (Id, Name, Score) VALUES (3, 'Tom', 250);

INSERT INTO G (Id, Name, Score) VALUES (4, 'Om', 350);

INSERT INTO G (Id, Name, Score) VALUES (5, 'Jay', 750);

CREATE TABLE Affect (

Id INT,

Name VARCHAR2(20),

Score INT

);

CREATE OR REPLACE TRIGGER BEFORE_DELETE

BEFORE DELETE ON G

FOR EACH ROW

BEGIN

INSERT INTO Affect (Id, Name, Score)

VALUES (:OLD.Id, :OLD.Name, :OLD.Score);

END;

DELETE FROM G WHERE Id = 3;

SELECT * FROM G;

SELECT * FROM Affect;


--BEFORE UPDATE

CREATE TABLE G (

Id INT,

Name VARCHAR2(20),

Score INT

);

INSERT INTO G (Id, Name, Score) VALUES (1, 'Sam', 800);

INSERT INTO G (Id, Name, Score) VALUES (2, 'Ram', 699);

INSERT INTO G (Id, Name, Score) VALUES (3, 'Tom', 250);

INSERT INTO G (Id, Name, Score) VALUES (4, 'Om', 350);

INSERT INTO G (Id, Name, Score) VALUES (5, 'Jay', 750);

CREATE TABLE Affect (

Id INT,

Name VARCHAR2(20),

Score INT

);

CREATE OR REPLACE TRIGGER BEFORE_UPDATE

BEFORE UPDATE ON G

FOR EACH ROW

BEGIN

INSERT INTO Affect (Id, Name, Score)

VALUES (:OLD.Id, :OLD.Name, :OLD.Score);

END;

UPDATE G SET Score = 900 WHERE Id = 5;


SELECT * FROM Affect;

SELECT * FROM G;

8-------

CREATE TABLE sales_id (

ID int,

Value int,

RunningTotal int

);

INSERT INTO sales_id(ID, Value, RunningTotal)

VALUES

(1, 100, NULL),

(2, 200, NULL),

(3, 50, NULL),

(4, 300, NULL),

(5, 150, NULL);

SELECT * FROM sales_id;

DECLARE

CURSOR Runningtotalcursor IS

SELECT ID, Value FROM sales_id ORDER BY ID;

v_ID sales_id.ID%TYPE;

v_Value sales_id.Value%TYPE;

v_runningtotal INT := 0;

BEGIN

OPEN Runningtotalcursor;

LOOP

FETCH Runningtotalcursor INTO v_ID, v_Value;


EXIT WHEN Runningtotalcursor%NOTFOUND;

v_runningtotal := v_runningtotal + v_Value;

UPDATE sales_id SET RunningTotal = v_runningtotal WHERE ID =


v_ID;

END LOOP;

CLOSE Runningtotalcursor;

END;

SELECT * FROM sales_id;

7----------

CREATE TABLE StudentDetails (S_ID INT PRIMARY KEY,NAME


VARCHAR(50),ADDRESS VARCHAR(100));

INSERT INTO StudentDetails (S_ID, NAME, ADDRESS)VALUES

(1, 'John', '123 Maple St'),

(2, 'Alice', '456 Oak St'),

(3, 'Raj', '789 Pine St'),

(4, 'Jane', '101 Birch St'),

(5, 'Mark', '202 Elm St');

CREATE VIEW DetailsView AS

SELECT NAME, ADDRESS

FROM StudentDetails

WHERE S_ID < 5;

SELECT * FROM DetailsView;

CREATE TABLE students

ID NUMBER(10),

NAME CHAR(20)

);
INSERT INTO students VALUES (1, 'Shubham');

INSERT INTO students VALUES (2, 'Aman');

CREATE SYNONYM student_synonym

FOR students;

SELECT * FROM student_synonym;

CREATE SEQUENCE sequence_1

START WITH 1

INCREMENT BY 1

MINVALUE 1

MAXVALUE 100

CYCLE;

CREATE TABLE students

ID NUMBER(10),

NAME CHAR(20)

);

INSERT INTO students VALUES (sequence_1.NEXTVAL, 'Shubham');

INSERT INTO students VALUES (sequence_1.NEXTVAL, 'Aman');

SELECT * FROM students;

You might also like