tags:

views:

90

answers:

5

what are the queries to do the following in Oracle?

  1. get names of all views which are present ? (Similar to select * from view, but i want to get views not tables)
  2. See source of a particular view.
A: 

This query will get the names of views in your schema.

select object_name
  from user_objects
 where object_type = 'VIEW'

The query for getting the view source?

SQL> select dbms_metadata.get_ddl('VIEW', 'VIEW_NAME', 'USERNAME')
 2     from dual
 3   /
Guru
+6  A: 
  1. get names of all views:

    a. which are owned by the current user:

    SELECT view_name
    FROM USER_VIEWS;
    

    b. which are visible to the current user:

    SELECT view_name
    FROM ALL_VIEWS;
    

    c. which are present:

    SELECT view_name
    FROM DBA_VIEWS;
    
  2. See source of a particular view

    SELECT text FROM xxx_VIEWS WHERE view_name = :myviewname;

(xxx can be USER, ALL or DBA)

DBA_VIEWS

OMG Ponies
He may not have access to DBA_VIEWS. But USER_VIEWS also has the text column.
Thilo
Also, there is ALL_VIEWS, which has all views visible to the current user.
Thilo
A: 

views owned by user

 select * from USER_VIEWS ;

check for oracle objects metadata

http://cisnet.baruch.cuny.edu/holowczak/oracle/sqlplus/

Thillakan
+2  A: 

To see the definition of a view in sqlplus:

describe MY_VIEW;
crowne
A: 
valli