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

VIEWS :WHAT IS A VIEW ? A VIEW IS A DATABASE OBJECT THAT WILL KEEP A SQL QUERY.

THE QUERY CAN BE ANY TYPE OF QUERY LIKE A JOIN QUERY OR A SUBQUERY OR ANY O THER QUERY. WHAT IS THE USE OF A VIEW? CREATING A VIEW HAS THE FOLLOWING ADVANTAGES OR USES. 1. A VIEW CAN BE USED TO RESTRICT ACCESS TO A DATABASE TABLE.IN OTH ER WORDS WE CAN SAY THAT USING A VIEW A PROGRAMMER CAN ALLOW OTHER USERS OR PROG RAMMERS TO ACCESS ONLY CERTAIN PORTION OF A DATABASE TABLE. BY CREATING A VIEW WE CAN RESTRICT THE DATA RETURNED BY THE VIEW AS PER THE QUERY WHICH WE HAVE WRITTEN. 2. A VIEW CAN BE USED TO STORE A VERY COMPLEX QUERY ON THE DATABASE SERVER SO TH AT OTHER USERS CAN USE THAT QUERY WITHOUT TYPING THE QUERY LOGIC ONCE AGAIN. SYNTAX TO CREATE A VIEW CREATE VIEW <VIEW NAME> AS <SELECT QUERY>; EXAMPLE CREATE VIEW V1 AS SELECT ENAME,SAL,JOB FROM EMP; PROJECTION :- WHEN WE RESTRICT THE NUMBER OF COLUMNS THAT ARE SELECTED I N A QUERY IT IS KNOWN AS PROJECTION RESTRICTION :- WHEN WE RESTRICT THE NUMBER OF ROWS THAT ARE SELECTED BY A QUERY BY USING THE WHERE CONDITION IT IS KNOWN AS RESTRI CTION. HOW TO DROP A VIEW? DROP VIEW <VIEW NAME>; EX:DROP VIEW V5; CAN WE PERFORM DML OPERATIONS ON A VIEW. PERFORMING DML OPERATIONS ON A VIEW IS POSSIBLE IN ORACLE DATABASE BUT I N A RESTRICTED MANNER. THE FOLLOWING ARE THE RESTRICTIONS FOR PERFORM ING DML OPERATIONS ON A VIEW 1. WE CANNOT INSERT OR UPDATE THOSE COLUMNS WHICH HAVE BEEN SELECTED IN THE VIEW QUERY. 2. WE CANNNOT USE THOSE COLUMNS THAT HAVE NOT BEEN SELECTED IN OUR DELET E STATEMENTS. 3. WE CANNOT INSERT A RECORD INTO A TABLE THROUGH A VIEW IF ANY NOT NULL COLUMN HAS BEEN MISSED IN THE VIEW. EXAMPLE

SQL> DESC EMP Name Null? ------------------------------- -------EMPNO NOT NULL ENAME JOB MGR HIREDATE SAL COMM DEPTNO

Type ---VARCHAR2(5) VARCHAR2(10) VARCHAR2(9) NUMBER(4) DATE NUMBER(7,2) NUMBER(7,2) NUMBER(2)

SQL> CREATE VIEW V2 AS SELECT ENAME,JOB FROM EMP; View created. SQL> INSERT INTO V2 VALUES ('SMITH','CLERK'); INSERT INTO V2 VALUES ('SMITH','CLERK') * ERROR at line 1: ORA-01400: cannot insert NULL into ("SCOTT"."EMP"."EMPNO") 4. WE CANNOT PERFORM ANY DML OPERATION ON THOSE VIEWS THAT ARE BASED ON JOIN QUERIES WHAT IS A FORCED VIEW? A FORCED VIEW IS A VIEW THAT IS CREATED ON A TABLE WHICH IS AS YET NOT E XISTING IN THE DATABASE. SYNTAX:CREATE OR REPLACE FORCE VIEW <VIEW NAME> AS <SELECT QUERY>; EXAMPLE:CREATE OR REPLACE FORCE VIEW V1 AS SELECT * FROM CUSTOMER_INFO; SQL> CREATE OR REPLACE FORCE VIEW V1 AS SELECT * FROM CUSTOMER_INFO; Warning: View created with compilation errors. SQL> CREATE TABLE CUSTOMER_INFO (CUST_ID VARCHAR2(10),CUST_NAME VARCHAR2 (10)); Table created. SQL> SELECT * FROM V1; no rows selected FORCED VIEWS ARE USUALLY USED ON DISTRIBUTED DATABASES.

SYNONYM :A SYNONYM IS A DATABASE OBJECT WHICH ACTS AS AN ALIAS NAME FOR ANOTHER D

ATABASE OBJECT. SYNTAX:CREATE SYNONYM <SYNONYM NAME> FOR <OBJECT NAME>; A SYNONYM WILL NOT KEEP ANY DATA. IT WILL ONLY KEEP THE ALIAS NAME OF TH E OBJECT TO WHICH IT IS ASSOCIATED. WHAT IS THE USE OF A SYNONYM? A SYNONYM MAY BE USED FOR THE FOLLOWING REASONS 1. TO GIVE A SHORT NAME TO A DATABASE OBJECT WHICH HAS A LONG NAME. 2. TO HIDE THE NAME OF THAT DATABASE OBJECT FROM OTHER USERS FOR SECURIT Y PURPOSE 3. TO ACCESS AN OBJECT FASTER IN ANOTHER SCHEMA. CREATE SYNONYM E FOR EMP; HOW TO RENAME A TABLE? RENAME <OLD TABLE NAME> TO <NEW TABLE NAME>; EXAMPLE:RENAME EMP TO E; HOW TO TRUNCATE DATA FROM A TABLE? TRUNCATE TABLE <TABLE NAME>; WHEN WE TRUNCATE A TABLE THE DATA OF THE TABLE WILL BE DELETED AND THE D ATABASE WILL BE COMMITED. BUT THE SPACE OCCUPIED BY THE TABLE WI LL BE RESERVED FOR THAT TABLE ITSELF FOR FUTURE TRANSACTIONS ON T HAT TABLE. EXAMPLE :TRUNCATE TABLE EMP; COMMIT :- COMMIT IS USED TO SAVE CHANGES IN A DATABASE COMMIT ROLLBACK :- ROLLBACK IS USED TO UNDO CHANGES IN A DATABASE SYNTAX :ROLLBACK SAVEPOINT :- IS USED TO TEMPORARILY RESTRICT AN UNCOMMITED DML TRANSACTI ON AGAINST A ROLLBACK SQL>DELETE FROM EMP; SQL SAVEPOINT S1; SAVEPOINT CREATED SQL> INSERT INTO EMP VALUES (....); SQL>ROLLBACK TO S1; SQL> DELETE FROM EMP WHERE JOB='CLERK';

4 rows deleted. SQL> SAVEPOINT S1; Savepoint created. SQL> INSERT INTO EMP (EMPNO) VALUES (1001); 1 row created. SQL> SELECT * FROM EMP WHERE EMPNO=1001; EMPNO ENAME PTNO ---- ----- ---------- --------- --------- --------- --------- ----------------1001 SQL> ROLLBACK TO S1; Rollback complete. SQL> SELECT * FROM EMP WHERE EMPNO=1001; no rows selected SQL> SELECT * FROM EMP WHERE JOB='CLERK'; no rows selected SQL> ROLLBACK; Rollback complete. SQL> SELECT * FROM EMP WHERE JOB='CLERK'; EMPNO ENAME PTNO --------- ---------- --------- --------- --------- --------- --------- -------7369 SMITH 20 7876 ADAMS 20 7900 JAMES 30 7934 MILLER 10 SQL> CLERK 7782 23-JAN-82 1300 CLERK 7698 03-DEC-81 950 CLERK 7788 12-JAN-83 1100 CLERK 7902 17-DEC-80 800 JOB MGR HIREDATE SAL COMM DE JOB MGR HIREDATE SAL COMM DE

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