-
Oracle数据类型对比Java数据类型
Oracle数据类型 Java数据类型 Java数据类型 varchar2 String java.lang.String number(1)
boolean java.lang.Boolean number(2) byte java.lang.Byte number(3)-number(4) short java.lang.Short number(5)-number(9) int java.lang.Integer number(10)-number(18) long java.lang.Long number(19)-number(38) BigDecimal java.math.BigDecimal number BigDecimal java.math.BigDecimal char String java.lang.String date Timestamp java.sql.Timestamp blob Object java.lang.Object -
主键自增
-- 主键设置: xx_id number(24) primary key --创建xx表序列 create sequence xx_seq --序列名称 increment by 1 -- 每次加几个 start with 1 -- 从1开始计数 nomaxvalue --NOMAXVALUE -- 不设置最大值 order --设置是否按照请求的顺序产生序列 nocycle -- 一直累加,不循环 cache 10; --指定可以缓存 20 个值在内存里;如果设置不缓存序列,则写NOCACHE --创建xx表触发器 create or replace trigger xx_tg before insert on "xx" -- 触发条件:当向表xx执行插入操作时触发此触发器 for each row --对每一行都检测是否触发 begin select xx_seq.nextval into:new."xx_id" from dual; --获取序列的下一个值存入xx_id中 end xx_tg; --获取当前序列值: SELECT xx_seq.currval FROM DUAL;
-
分页查询
--无排序 SELECT * FROM ( SELECT ROWNUM r_id, s.* FROM "student" s WHERE ROWNUM <= 8 )tt WHERE TT.r_id >= 5; --有排序 SELECT * FROM ( SELECT t.*, ROWNUM r_id FROM ( SELECT s.* FROM "student" s ORDER BY s."age" DESC ) t WHERE ROWNUM <= 8 ) tt WHERE tt.r_id >= 5;
-
模式对象:表,索引,过程,触发器
-
非模式对象:用户,角色,表空间,概要文件
-
表空间
- 表空间是数据库的逻辑存储设备,它把数据库信息组织成物理存储空间
- 表空间由数据文件组成,用户的各种模式对象(表,索引,过程,触发器)都是放在表空间的
- 对于每个数据库用户,都可以设置一个默认表空间,当用户创建一个新的数据库对象(如表)并且不明确为此对象指定表空间时,Oracle会把创建的这个心数据库对象存放到用户默认的表空间中
- 如果不给用户指定默认表空间,则用户默认的表空间为users表空间
- 一般,sql语句在完成任务时需要临时工作空间,如,一个用来连接和排序大量的查询需要临时工作空间来存放结果,除非另外指定,一般情况下,用户的临时表空间是TEMP表空间
- 若数据库中没有创建TEMP表空间,则用户的临时表空间为SYSTEM表空间
- 因为SYSTEM表空间是用来保存数据库系统信息(数据库自身信息的内部系统表和视图(数据字典),所有的PL/SQL程序的源代码(包括函数和触发器等))的,如果用户大量使用此表空间存储自己的数据,将会影响系统的执行效率,因此一般不建议用户使用SYSTEM表空间
-
系统授权
- 管理用户
conn / as sysdba;--登录系统用户 create user user_name identified by password;--创建用户 alter user user_name inentified by new_password;--更改密码 drop user user_name;--删除用户 drop user user_name cascade;--删除用户
- 管理权限
grant privs_name to user_name;--给user_name授予privs_name权限 revoke privs_name from user_name;--撤销user_name的privs权限 select * from session_privs;--查看当前用户权限
- 所有权限
- 使用权限
- 连接到数据库需要create session权限
- create any procedure能够创建,修改,删除或执行任何存储过程,程序包和函数
- create any table能够在自己的模式中创建,修改删除或查询任何表
- 开发人员一般需要create table,create view,create type权限
- 管理用户
08-24
417
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-21
07-21
08-02
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交