Вы находитесь на странице: 1из 5

CREATE TABLE course(

course_id NUMBER(5) CONSTRAINT course_pk PRIMARY KEY,


title VARCHAR2(25) NOT NULL
);
CREATE TABLE student(
roll_no NUMBER(6) CONSTRAINT student_rollno_pk PRIMARY KEY,
sname VARCHAR2(20) CONSTRAINT student_sname_nn NOT NULL,
reg_date DATE DEFAULT SYSDATE,
email VARCHAR2(40) CONSTRAINT student_email_uk UNIQUE,
grade CHAR(1) CONSTRAINT student_grade_ck CHECK(grade in('A','B','C','F')),
course_id NUMBER(6) CONSTRAINT student_courseid_fk REFERENCES course(course_id)
);
CREATE TABLE book(
book_id NUMBER(4) PRIMARY KEY,
bname VARCHAR2(30) NOT NULL,
author VARCHAR2(30)
);
CREATE TABLE issue_register(
book_id NUMBER(4) REFERENCES book(book_id),
roll_no NUMBER(6) REFERENCES student(roll_no),
issue_date DATE ,
return_date DATE,
actual_return DATE,
CONSTRAINT issue_register_pk
PRIMARY KEY(book_id,roll_no,issue_date),
CHECK(actual_return > issue_date)
);
DROP TABLE issue_register;
CREATE TABLE issue_register(
book_id NUMBER(4),
roll_no NUMBER(6) REFERENCES student(roll_no),
issue_date DATE ,
return_date DATE,
actual_return DATE
);
ALTER TABLE issue_register
ADD CONSTRAINT issue_register_fk1
FOREIGN KEY(book_id) REFERENCES book(book_id);
ALTER TABLE issue_register
ADD CONSTRAINT issue_register_pk
PRIMARY KEY(book_id,roll_no,issue_date);
ALTER TABLE issue_register
ADD CONSTRAINT issue_register_ck
CHECK(actual_return > issue_date);

ALTER TABLE issue_register
DISABLE CONSTRAINT issue_register_ck;
ALTER TABLE issue_register
DROP CONSTRAINT issue_register_ck;
CREATE TABLE student_copy
AS SELECT * FROM student;
SELECT * FROM user_tables
WHERE table_name='STUDENT';
-------------------------------------------
CREATE INDEX student_sname_idx
ON student(sname);
DROP INDEX student_sname_idx;
--------------------------------------------
CREATE SYNONYM iss_reg FOR issue_register;
DROP SYNONYM iss_reg;
DROP TABLE issue_register;
DROP TABLE issue_register;
DROP SYNONYM iss_reg;
SELECT *
FROM USER_OBJECTS
WHERE OBJECT_NAME='ISS_REG';
-------------------------------------------------------
DATA MANIPULATION LANGUAGE=>
INSERT=>
INSERT INTO course
VALUES(111,'J2EE');
INSERT INTO course
VALUES(&CID,'&TITLE');
INSERT INTO student(roll_no,sname,email,grade)
VALUES(10001,'Ram','ram@gmail.com','A');
INSERT INTO student(roll_no,sname,email,grade)
VALUES(10002,'Sita','sita@gmail.com','B');
INSERT INTO student(roll_no,sname,email,grade)
VALUES(10003,'Sita','sita@gmail.com','B');
INSERT INTO student(roll_no,sname,email,grade,course_id)
VALUES(10004,'Rani','Rani@gmail.com','B',111);
UPDATE student
SET course_id = 111;
UPDATE student
SET grade = 'C'
WHERE sname='Ram';
DELETE course WHERE course_id=111;
DELETE student;
CREATE SEQUENCE course_seq
START WITH 500
INCREMENT BY 5;
INSERT INTO course(course_seq.NEXTVAL,'&TITLE');
SELECT course_seq.CURRVAL FROM dual;
DROP SEQUENCE course_seq;
---------------------------------------------------------
ALTER TABLE tablename
RENAME COLUMN old_name TO new_name; --renaming column
ALTER TABLE tablename
MODIFY col_name new_datatype; -- modifying column
ALTER TABLE tablename
ADD col_name datatype; -- Adding new column
RENAME old_name TO new_name; --Renaming table
ALTER TABLE tablename
MODIFY colname NOT NULL;
--------------------------------------------------
CREATE OR REPLACE VIEW dept_20
AS SELECT * FROM emp
WHERE deptno=20;
SELECT * FROM dept_20;
CREATE VIEW sum_dept
AS SELECT deptno, sum(sal) total_sal
FROM emp GROUP BY deptno;
INSERT INTO dept_20(empno,ename,deptno)
VALUES(101,'Anju',10);
CREATE OR REPLACE VIEW dept_20
AS SELECT * FROM emp
WHERE deptno=20
WITH CHECK OPTION;
INSERT INTO dept_20(empno,ename,deptno)
VALUES(102,'Anju',10); -- will give error
INSERT INTO dept_20(empno,ename,deptno)
VALUES(102,'Anju',20); ---will insert
CREATE OR REPLACE VIEW dept_20
AS SELECT * FROM emp
WHERE deptno=20
WITH READ ONLY;
INSERT INTO dept_20(empno,ename,deptno)
VALUES(104,'Anju',20);
InLine View=>
SELECT d.dept_code, dept_name, total
FROM department_masters d,
(SELECT dept_code, count(*) as total
FROM staff_masters
GROUP BY dept_code) s
WHERE d.dept_code = s.dept_code;
-------------------------------------------------
GRANT SELECT ON emp
TO PUBLIC;
SELECT * FROM user1.emp;
REVOKE SELECT ON emp
FROM PUBLIC;
-------------------------------------------------
comment on table Book IS 'Book Details' ;
SELECT * FROM user_tab_comments
WHERE table_name='BOOK';
select c1.CONSTRAINT_NAME, c1.CONSTRAINT_TYPE,
c1.TABLE_NAME ,COLUMN_NAME
from user_constraints c1,user_cons_columns c2
where c1.CONSTRAINT_NAME = c2.CONSTRAINT_NAME
and c1.TABLE_NAME='STUDENT';

Вам также может понравиться