Sie sind auf Seite 1von 4

SQL*Plus: Release 10.2.0.1.

0 - Production on Sat Oct 22 17:59:27 2011


Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect
Enter user-name: hr
Enter password:
Connected.
SQL> select * from bank;
EMP_NAME
EMPID
AGE
---------- ---------- ---------manoj
9101985
25
vinod
10101986
21
anil
19061988
23
sunil
11101985
25
SQL> select * from bank_1;
C_NAME
ACC_NO
---------- ---------vinod
123
manoj
456
anil
789
sunil
147
SQL> create table bank1(empid number references bank,salary number);
Table created.
SQL> insert into bank1 values(09101985,10000);
1 row created.
SQL> insert into bank1 values(10101986,12000);
1 row created.
SQL> insert into bank1 values(19061988,13000);
1 row created.
SQL> insert into bank1 values(11101985,12500);
1 row created.
SQL> select * from bank1;
EMPID
SALARY
---------- ---------9101985
10000
10101986
12000
19061988
13000
11101985
12500
SQL> create view bankview as select emp_name,empid,salary from bank,bank1;
create view bankview as select emp_name,empid,salary from bank,bank1
*
ERROR at line 1:

ORA-00918: column ambiguously defined


SQL> create view bankview as select emp_name,empid,salary from bank,bank1 where
bank.empid=bank1.empid;
create view bankview as select emp_name,empid,salary from bank,bank1 where bank.
empid=bank1.empid
*
ERROR at line 1:
ORA-00918: column ambiguously defined
SQL> create view bankview as select bank.emp_name,bank.empid,bank1.salary from b
ank,bank1 where bank.empid=bank1.empid;
View created.
SQL> select * from bankview;
EMP_NAME
EMPID
SALARY
---------- ---------- ---------manoj
9101985
10000
vinod
10101986
12000
anil
19061988
13000
sunil
11101985
12500
SQL> insert into bankview values('markud',04209211,5000);
insert into bankview values('markud',04209211,5000)
*
ERROR at line 1:
ORA-01779: cannot modify a column which maps to a non key-preserved table
SQL> delete from bankview where emp_name='anil';
1 row deleted.
SQL> select * from bank;
EMP_NAME
EMPID
AGE
---------- ---------- ---------manoj
9101985
25
vinod
10101986
21
anil
19061988
23
sunil
11101985
25
SQL> select * from bank1;
EMPID
SALARY
---------- ---------9101985
10000
10101986
12000
11101985
12500
SQL> select * from bankview;
EMP_NAME
EMPID
SALARY
---------- ---------- ---------manoj
9101985
10000
vinod
10101986
12000

sunil

11101985

12500

SQL> update bankview set salary=11000 where emp_name='sunil';


1 row updated.
SQL> select * from bankview;
EMP_NAME
EMPID
SALARY
---------- ---------- ---------manoj
9101985
10000
vinod
10101986
12000
sunil
11101985
11000
SQL> select * from bank;
EMP_NAME
EMPID
AGE
---------- ---------- ---------manoj
9101985
25
vinod
10101986
21
anil
19061988
23
sunil
11101985
25
SQL> select * from bank1;
EMPID
SALARY
---------- ---------9101985
10000
10101986
12000
11101985
11000
SQL> select max(salary) from bankview ;
MAX(SALARY)
----------12000
SQL> select avg(salary) from bankview ;
AVG(SALARY)
----------11000
SQL> update bankview set salary=salary+100;
3 rows updated.
SQL> select * from bankview;
EMP_NAME
EMPID
SALARY
---------- ---------- ---------manoj
9101985
10100
vinod
10101986
12100
sunil
11101985
11100
SQL> select * from bank1;
EMPID
SALARY
---------- ---------9101985
10100

10101986
11101985

12100
11100

SQL> select * from bank;


EMP_NAME
EMPID
AGE
---------- ---------- ---------manoj
9101985
25
vinod
10101986
21
anil
19061988
23
sunil
11101985
25
SQL> select emp_name,avg(age) from bankview group by age;
select emp_name,avg(age) from bankview group by age
*
ERROR at line 1:
ORA-00904: "AGE": invalid identifier
SQL> select emp_name,avg(salary) from bankview group by salary;
select emp_name,avg(salary) from bankview group by salary
*
ERROR at line 1:
ORA-00979: not a GROUP BY expression
SQL> select emp_name,avg(salary) from bankview group by emp_name;
EMP_NAME AVG(SALARY)
---------- ----------manoj
10100
sunil
11100
vinod
12100
SQL>

Das könnte Ihnen auch gefallen