Answers were Sorted based on User's Feedback
Answer / vinay dixit
please find the advantages as given below :-
a) data security - no need to give permission on the table,
infact a view can be created, having only selected number
of coloums in its definition. So user will only be able to
see those coloums.
b) simplicity - a very complicated query can be saved as a
view defenition. when needed can be called by its view name.
c) removes dependency - Can be very helpful to remove the
dependecny from the underlying tables. Suppose a view is
created by joining several tables. After some time, there
are some changes on the tables, so only defenition of view
can be changed and there is no need to change all the code
where view is used.
d) No space - takes no space ( except materialized view )
|Is This Answer Correct ?||60 Yes||4 No|
Answer / anil_abbireddy
1. data security : complex view can not be modified ie.
base tables cannot be visible.
2. it provides easy way to query data from different data
sources like a single table
3.it is very usefull when developing complex reports basing
on multiple tables.
|Is This Answer Correct ?||38 Yes||4 No|
Answer / pnc
view is a logical presentation of one or more tables. It is
a virtual table. or A view is a data base object to register
the select statement permanently in the data base.
|Is This Answer Correct ?||17 Yes||6 No|
Answer / karunakarreddy.boyapally
1) it reduse the object size
2) hides the complexity of data
3) security purpose also
|Is This Answer Correct ?||12 Yes||3 No|
Answer / kapil syscom
View is simple structure as table in database, it dosen't take extra memory space, and reduces the structural complexity of database whenever we need to fetch the data from more than one table, thus it reduces the cost of joins every time.
Thus these is true that we have to use it for efficiency reasons..
|Is This Answer Correct ?||5 Yes||5 No|
how to get second highest salary in SQL(as/4000
what is self join and how it works??
when a procedure /package is getting invalidated?
one of the column in my table contains the data like SAL ---- 1000 1000 2000 3000 3000 So my requirement is i want output like SAL --- 1000 2000 3000 it mean i want to delete duplicate rows in the table permanently and i want output in the above formatow should u write query?
what is constraining table?
Is it possible to create startup or shutdown trigger for on-schema?
Write a query to find the employees from EMP table those who have joined in Monday. (there is a column as hiredate which is a date column i.e values are like 03-DEC-81)
what is try_catch block in procedure
How to display all Friday's in a year with date?
Hi, I am new in oracle(SQL), could anyone help me in writing a correct SQL. Below is the table structure. Table: Subsc Fields: 1. Sub_no (this field will hold values of subscriber nos, for e.g. S111111, S222222, S333333, S444444, etc.) 2. s_status (this field will hold values for different status of subscriber, for e.g. 'A', 'S', 'C', etc.) 3. cus_id (this field will hold values of bill nos for e.g. 11111111, 22222222, 33333333, 44444444, etc.) Table: Bill Fields: 1. Bill_no this field will hold values of bill nos for e.g. 11111111, 22222222, 33333333, 44444444, etc.) 2. b_status = (this field will hold values for different status of bill for e.g. 'O', 'C', 'S', etc.) Note: 1. The Sub_no is a Primary key of Subsc table. 2. The cus_id is a foreign in Subsc table (referred from Bill_no field of Bill table) 3. The Bill_no field is the Primary key of Bill table. Query A --> I wrote a query to select cus_id/Bill_no which is in status open (b_status = 'O') and having more than two active subscriber (i.e. S_status = 'A') in it ( i.e. more the two subscribers in same bill). select s.cus_id from subsc s where exists (select 1 from bill where bill_no = s.cus_id and b_status = 'O') and s_status = 'A' group by s.cus_id having count(sub_no) = 2 Problem : The above query will give the cus_id (or rather bill_no) which are in open status (b_status ='O) and which are having TWO ACTIVE Subscribers (s_status ='A') in it. However, this query will also lists the cus_id/bill_no which are having more than TWO subscribers in it (but only two subscriber will be in Active status (s_status = 'A') and the others will be in s_status = 'C' or s_status = 'S'. Help needed: I want to write a query which will fetch ONLY the cus_id/bill_no which are in open status (b_status ='O') and which are having ONLY TWO ACTIVE subscribers (s_status ='A') in it. B--> If I include the sub_no in the above query then NO row are returned. select s.cus_id, s.sub_no from subsc s where exists (select 1 from bill where bill_no = s.cus_id and b_status = 'O') and s_status = 'A' group by s.cus_id, s.sub_no having count(sub_no) = 2 Help needed: I want to modify the above query which will fetch ONLY the cus_id/bill_no which are in open status (b_status ='O') and which are having ONLY TWO ACTIVE subscribers (s_status ='A') in it ALONG with the sub_no. Thanks a lot in advance. Regards, Nitin
I have the table like this S.No Name ID 01 Xyz 123 I want the result as 01Xyz123 How to write the query to retrieve the entire row data in a single column?
how will you find out the last three records in a table with n no of records and delete them