Use of Data Type
1.
create table
t1(name varchar2(23),sal number(6));
2.
insert into t1
values('Tinku',999.99);
3.
select * from t1;
4.
create table
t2(name varchar2(23),feedback long);
// Long variable length data upto 2 gigabyte//
5.
insert into t2
values('Tinku',1234567890);
6.
insert into t2
values('Tinku','i am oracle(OCA) nad i am bscit from smu');
7.
select * from t2;
8.
create table
t3(name varchar2(23),feedback clob);
// Clob character data upto 4 gigabyte//
9.
insert into t3
values('Tinku',12332146545644567890);
10.
insert into t3
values('Tinku','my name is tinku kumar and i am BSC(IT) from SMU');
11.
select * from t3;
12.
create table
t4(name varchar2(23),data raw(12)); //RAW
binary data upto 2000 //
13.
insert into t4
values('Tinku','125f8'); //supports
hexadecimal number in quotation//
14.
select * from t4;
15.
create table
t5(name varchar2(23),data long raw);
//LONG RAW binary data of variable length upto 2 GB//
16.
insert into t5 values('Tinku','fd125abcf8'); //supports
hexadecimal number in quotation//
17.
select * from t5;
18.
create table
t6(name varchar2(23),data blob); //BLOB
Binary data upto 4 GB//
19.
insert into t6
values('Tinku','12f34');
20.
select * from t6;
21.
create table
t7(name varchar2(23),data bfile); //BFILE
Binary data store in a file 4 GB//
22.
conn
system/oracle;
23.
create directory
data as '\c:\tinku.txt';
24.
grant read on
directory data to hr;
25.
conn hr/hr;
26.
insert into t7
values('Tinku',bfilename ('data','tinku.txt')); //this column can not
be viewed by sql plus or isql plus//
27.
select * from t7;
28.
create table
t8(name varchar2(23),address rowid);
29.
select rowid from employees;
30.
insert into t8
values('Tinku','AAAMg6AAFAAAABYABQ');
31.
select * from t8;
Enhancement to Group By Clause
1.
select max(salary),department_id from
employees group by department_id;
2.
select sum(salary),department_id,job_id from
employees group by department_id,job_id;
3.
select sum(salary),department_id,job_id from
employees group by department_id,having sum(salary) < 10000;
Group by
with Rollup and Cube Operations
4.
select sum(salary),department_id,count(employee_id) from employees group by rollup(department_id);
5.
select
sum(salary),department_id,count(employee_id),job_id
from employees group by rollup(department_id,job_id);
6.
select sum(salary),department_id,count(employee_id) from employees group by cube(department_id);
7.
select sum(salary),department_id,count(employee_id),job_id from employees
group by cube(department_id,job_id);
Grouping,Grouping
sets Function
8.
select
department_id,job_id,sum(salary),grouping(department_id),grouping(job_id) from employees group by rollup(job_id,department_id);
9.
select job_id,sum(salary),manager_id,department_id from
employees group by grouping sets (department_id,job_id,manager_id)
,(department_id,manager_id) , (job_id,manager_id);
Composite
Columns
10. select job_id,sum(salary),manager_id,department_id
from employees group by rollup(department_id,(job_id,manager_id));
Concatenated
Grouping
11. select job_id,sum(salary),manager_id,department_id
from employees group by department_id,rollup(job_id),cube(manager_id);
Hierarchical
Retrieval
12. select employee_id,last_name,manager_id from employees
start with employee_id=178 connect by prior manager_id=employee_id;
//prior is a keyword and check the previous condition//
13. select last_name|| '
report to ' ||prior last_name
from employees start with
last_name='Feeney' connect by prior manager_id=employee_id;
14. select employee_id,last_name,manager_id,job_id,level from employees start with last_name='Bell ' connect
by prior manager_id=employee_id;
15. select
lpad(substr(last_name,1,4),length(substr(last_name,1,4))+level,'*') from employees start with last_name='Feeney' connect by prior
manager_id=employee_id;
note:-
start with=178 chech the
condition(manager_id=employee_id) and show the manager upper and lower.
SQL*Plus Editing Command
1.
select * fr;
2.
a om
employees; //
append data to buffered command//
3.
/
4.
select * from
eeployees;
5.
change /eeployees/employees;
or c /eeployees/employees; //change
the command in the memory//
6.
/
7.
select * from
employees bday to you;
8.
c /bday to
you; // delete required text from
buffered command//
9.
/
10. clear buffer; or
cl buff; //clear all buffer//
11. select *
from
employees
where
salary >
20000;
12. del 1;
13. del 1 3;
14. list; [L] //list of command in the
buffer//
15. L; //
show line no-1//
16. run; or r; //run
the buffered command//
17. 3 where salary= //change
the text in line 3//
18. 0 select * from
//insert a line before line 1 //
19. select last_name,salary,job_id from employees;
20. save tinku; //
save the command in file named tinku //
21. get tinku; // show the command stores in tinku file //
22. start tinku; //
run the command //
23. @ tinku; //
run the command //
24. run tinku; //
run the command //
25. edit tinku; //change
the tinku file //
26. @ tinku;
27. exit or quit; //to come out of the
sql*plus environment//
28. show
pagesize;
29. show
linesize;
30. set linesize
200;
31. set pagesize
100;
32. set feedback
off;
33. select 'create table '|| table_name||'_test'||' as
select * from '|| table_name from user_tables;
Primary Key/Foreign Key/Composite Key
1.
create table
t1(sno number(2),name varchar2(14), constraint
sno_pk primary key(sno));
2.
desc t1;
3.
insert into t1
values(1,'tinku');
4.
insert into t1
values(2,'ku');
5.
insert into t1
values(3,'muku');
6.
select * from t1;
7.
create table
t2(sno number(2) references t1,sal
number(6));
8.
insert into t2
values(1,2000);
9.
insert into t2
values(2,5000);
10. insert into t2 values(3,7000);
11. insert into t2 values(4,9000); //error::parent key not
found //
12. select * from t1;
13. delete from t1 where sno=1; //can’t delete child record found //
14. delete from t2 where sno=1; //delete//
15. select * from t1;
16. select * from t2;
17. drop table t1; //
child: reference key exists //
18. drop table t2; //
droped //
19. select * from tab;
20. create table t2(sno number(4) references t1 on delete
cascade,sal number(5));
21. insert into t2 values(1,2000); (2,5000); (3,7000);
22. delete from t2 where sno=1; // record not deleted from
t1(master table) //
23. select * from t2;
select * from t1;
24. delete from t1 where sno=2; //record deleted from
t2(transaction table also)//
25. select * from t2;
select * from t1;
26. drop table t2; //
(droped) t1(master table) can not be deleted if the t2 (transaction table
exists//
27. create table t2(sno number(4),sal number(5), constraint sno_fk foreign key(sno) references t1(sno));
28. alter table t2 drop
constraint sno_fk;
29. alter table t2 add
constraint sno_fk foreign key(sno) references
t1(sno);
30. select table_name,constraint_name,column_name
from user_cons_columns where
table_name='T1' or table_name='T2';
31. alter table t1 drop
primary key; //foreign
key exists //
32. alter table t1 drop
constraint sno_pk; //foreign
key exists //
33. alter table t1 drop
primary key cascade; //deleted
primary key //
34. select table_name,constraint_name,column_name from user_cons_columns where table_name='T1'
or table_name='T2';
Composite
Key
35. create table comp(sno number(3),name varchar2(23), constraint comp_key primary key(sno,name));
36. create table tomp(sno number(3),name varchar2(23),sal
number(5), constraint tomp_key foreign key(sno,name) references comp(sno,name));
37. select table_name,constraint_name,column_name from user_cons_columns where
table_name='COMP' or table_name='TOMP';
38. insert into
comp values (1,'tinku');
39. insert into
comp values (2,'amit');(3,'suman'); (4,'kumar');
40. insert into tomp values (1,'tinku',1000); (2,'amit',2000);
41. insert into
tomp values (3,'kavita',3000); // parent key not found //
Creating
and Managing Table
42. create table t1(sno number(4),name varchar2(25),dept
number(4) not null,constraint t1_pk primary key(sno));
43. insert into t1 values(1,'tinku',40);
44. insert into t1 (sno,dept) values (6,80);
45. insert into t1 values(1,'tinku',40); //unique constrain (t1_pk)
violated //
46. insert into t1 values(3,'tinku'); insert into t1 values('tinku'); //
not enough values //
47. create table t2(sno number(4),name varchar2(25) not null, dob date constraint t2_dob_nn not null);
48. insert into t2 values(1,'tinku','2-oct-88');
49. insert into t2 values(1,'tinku','2-oct-88');
50. insert into t2 (name,dob) values ('tinku','2-oct-88');
51. insert into t2 values(1,'tinku'); (1,'2-oct-88'); ('tinku','2-oct-88'); //
not enough values //
52. create table t3(sno number(4),name varchar2(25),dept
number(4) not null,constraint t3_uni unique(sno));
53. insert into t3 values(1,'tinku',50);
54. insert into t3 values(1,'tinku',50); //unique constrain (t3_uni)
voileted //
55. insert into t3 values(2,'tinku',50);
56. insert into t3 values(3,'tinku'); // not enough values //
57. create table t4(dept_no number(5),loc varchar2(25),constraint t4_dept_fk foreign key (dept_no) references departments(department_id));
58. desc departments;
59. insert into t4 values(10,'tinku');
60. insert into t4 values(11,'tinku'); //
parent key not found //
61. insert into t4 (loc) values ('usa ');
62. insert into t4 (dept_no) values (20);
63. create table t5(sno number(4),name varchar2(25),sal
number(4) constraint sal_ch check
(sal>3000)); //
check is a keyword constraint when error comes time //
64. insert into t5 values(1,'tinku',5100);
65. insert into t5 values(1,'tinku',2000); // check constraint
(HR.SAL_CH) violated//
66. create table emq as select * from employees;
67. desc emq;
68. alter table emq add
constraint emq_pk primary key(employee_id);
constraint
deferrable enable novalidate/rename constraint
69. create table tinku(sno number(4),name varchar2(23));
70. insert into tinku values(1,'tinku');
71. insert into tinku values(1,'tinku');
72. alter table tinku add
constraint tinku_pk primary key(sno) deferrable
enable novalidate;
73. insert into tinku values(1,'tinku');
74. alter table tinku rename
constraint tinku_pk to tk_pk;
75. insert into tinku values(1,'tinku');
NOTE :-
constraint is a keyword who write show write(constraint
t1_pk,tinku_pk,t2_pk)
CREATE
INDEXES
76. create index
tinku_emp_ind on departments(department_name) pctfree 30 storage (initial
200k next 200k pctincrease 0 maxextents 50);
77.
select
index_name,column_name,column_position from user_ind_columns where table_name='DEPARTMENTS’;
78.
create bitmap index tinku_dep_ind on
departments(manager_id) pctfree 30 storage (initial 200k next 200k pctincrease
0 maxextents 50);
79.
select index_name,column_name,column_position
from user_ind_columns where
table_name='DEPARTMENTS';
80.
alter index tinku_dep_ind stroage(next 200k
maxeztents 60); //extent
parameters can be altered //
81.
conn /as sysdba;
82.
create tablespace
tinku datafile 'C:\oracle\product\10.2.0\oradata\orcl\tinku01.dbf' size 5m;
83.
create index
tinku_emp_ind on hr.locations(POSTAL_CODE) pctfree 30 storage (initial 200k
next 200k pctincrease 0 maxextents 50)tablespace tinku;
84.
alter index
tinku_emp_ind rebuild tablespace
tinku;
85.
analyze index
tinku_emp_ind validate structure;
86.
select
blocks,name,lf_rows from index_stats;
87.
drop index
tinku_emp_ind;
�Dr a ��5 ��4
style='mso-list:Ignore'>17.
delete from
sal_mgr;
18.
insert all
when sal<=5000 then
into sal_date values (sno, h_date,sal)
when
sal<=5000 then
into
sal_mgr values (sno,mgr ,sal)
select employee_id sno,hire_date h_date,salary
sal,manager_id mgr from
employees;
19.
select * from sal_date;
20.
select *
from sal_mgr;
21.
delete from
sal_date;
22.
delete from
sal_mgr;
23.
insert first
when sal<=5000 then
into
sal_date values (sno, h_date,sal)
when
sal<=5000 then
into
sal_mgr values (sno,mgr ,sal)
select employee_id sno,hire_date h_date,salary
sal,manager_id mgr from
employees;
24.
select * from sal_date;
25.
select *
from sal_mgr;
26.
create table
sales(emp_id number(4),week_id number(5),sale_mon number(5),sale_tue
number(5),sale_wed number(5),sale_thu number(5),sale_fri number(5));
27.
insert into sales
values(100,1,2000,3000,4000,5000,6000);
28.
select * from sales;
29.
create table
sales_info(emp_id number(4),week number(5),sales number(5));
30.
insert all
into
sales_info values(emp_id,week,sale_mon)
into
sales_info values(emp_id,week,sale_tue)
into
sales_info values(emp_id,week,sale_wed)
into
sales_info values(emp_id,week,sale_thu)
into
sales_info values(emp_id,week,sale_fri)
select
emp_id,week_id week,sale_mon,sale_tue,sale_wed,sale_thu,sale_fri
from
sales;
31.
select * from sales_info;
No comments:
Post a Comment