a. Can you delete data from a View.
b. If Yes, can you delete it if there are multiple tables
c. If No, can you delete if there is single source table
which is joining.
Answers were Sorted based on User's Feedback
Answer / haarika valasa
IF view is created based on only one base table we can
perform all DML operations.
If view is created based on multiple table using joins and
goup by functions etc..than we cannot perform directly DML
operations.
Using Instead of Trigger we can perform DML operations on
complex view.
| Is This Answer Correct ? | 24 Yes | 0 No |
Answer / pankaj
you can remove the rows from the view if it does not containing any of the following.
1> group function
2> group by clause
3> distinct keyword
4> rownum keyword
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / suman
Yes we can insert records if view having one to one table. but we cannot create insert if we have multiple table join query
create or replace view v_emp
as select * from emp;
insert into v_emp(empno,ename,job,mgr,hiredate,sal,comm,deptno)
values(1111,'suman','CLERK',1111,SYSDATE,11,1,20);
create or replace view v_emp
as select empno,ENAME,job,deptno from emp;
insert into v_emp(empno,ename,job,deptno)
values(1112,'suman','CLERK',20);
SELECT * FROM V_EMP WHERE EMPNO=1111;
SELECT * FROM V_EMP WHERE EMPNO=1112;
create or replace view v_emp_dept
as select empno,e.deptno,dname from emp e, dept b where e.deptno=b.deptno;
insert into v_emp_dept(empno,deptno,dname)
values(1112,'suman','CLERK');
select * from v_emp_dept where empno=1111;
01776. 00000 - "cannot modify more than one base table through a join view"
*Cause: Columns belonging to more than one underlying table were either
inserted into or updated.
*Action: Phrase the statement as two or more separate statements.
| Is This Answer Correct ? | 0 Yes | 0 No |
define sql update statement ? : Sql dba
What are Global Temporary tables
Which is better cte or subquery?
How can I speed up sql query?
What is a database link?
pl/sql testing means what ...... explain process how to find pl/sql bugs
take one table is t1 and in that column name is f1 f1 column values are 200 5000 3000 7000 300 600 100 400 800 400 i want display the values asc and desc in a single output. sample output is f1.a 100 200 300 400 500 600 etc...... and f1.d is 5000 4000 3000 2000 1000 etc...
What is server name sql?
What are the different types of joins in sql?
Is sql sequential or random?
Enlist some predefined exceptions?
What is a database trigger?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)