首页 > 代码库 > oracle对象
oracle对象
表:大的表可以采用分区表的形式管理,可以提高效率。
视图:虚拟表,并不存储数据。
语法:create view 视图名
as
查询语句
em:create vies viewemp
as
select * from emp;
查询当前用户下有多少视图:通过查看数据字典表user_views
select * from user_views;
序列:由特殊程序生成,可以生成唯一的整数。
em:create table books
(
bookid number(12) constraint pk_book primary key,
bookname varchar2(50) not null,
price number(10),
printtime date
);
创建针对上表生成id的序列:
create sequence bookid
start with 1
increment 1
maxvalue 99999999999
nocache
nocycle;
nextval:表示下一个数值。
currval:表示当前数值。
dual:oracle数据库的一个虚表,与数据字典表共同创建,只有一列dummy,其数据类型为varchar2(1)类型。
insert into books(bookid,kookname) values(bookid.nextval,‘oracle dba高效入职指南‘)
select bookid.currval from dual;
select bookid.nextval from dual;
函数:oracle自带函数和自定义函数。
upper():把小写字母转换成大写字母。
lower():把大写字母转换成小写字母。
round():四舍五入函数。
to_date():把字符串转换成时间格式。
avg():求平均数。
max():求最大值。
min():求最小值。
count():求总数。
自定义函数:
语法:create or replace function 函数名(函数参数) -----创建或已存在的函数
return number -----函数返回值类型
is 参数 参数类型; -----定义参数
begin -------函数开始
函数体;
return(参数);
end; ----------函数结束
em:
create or replare function get_empsal(emp_no in number)
returen number
is emp_sal number(7,2)
begin
select sal
into emp_sal
from emp
where empno=emp_no;
return(emp_sal);
end;
em:select get_empsal(7566) from dual;
存储过程:
语法:create or replare procedure 存储过程名(参数)is
begin
程序体;
end 存储过程名;
em:create or replare procedure delempno(empid in number) is
begin
delete from emp where empno=empid;
commit;
end delempno;
execute:执行存储过程的关键字。
em:>exec delempno(7566);
索引:对数据表的一列或几列进行进行排序,可以大大提高数据库查询速度,相当于书的目录。
语法:create index 索引名 on 表名(列名);
em:create index id_index on emp(empno);
同义词(synonym):现有对象的一个别名,分私有同义词和公有同义词。
授予scott用户创建同义词权限:grant create any synonym to scott;
创建同义词语法:create synonym 同义词名 for 对象名;
em:create synonym sg for salgrade;
授予scott用户创建共有同义词权限:grant create public synonym to scott;
创建公共同义词语法:create public synonym 公共同义词名 for 对象名;
em:create public synonym emp for scott.emp;
oracle对象