首页 > 代码库 > 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对象