orcle主键自增长实例 以及密码丢失问题

原创 2017年10月13日 15:32:21
Oracle序列详解和创建自增主键


Oracle序列主键============================================


序列:是oracle提供的用于生产一系列唯一数字的数据库对象
自动提供唯一的数值


共享对象


主要用于提供主键值


将序列值装入内存可以提高访问效率






语法===========================


increment by 用于定义序列的不长 如果省略 则默认为1


start with 定义序列的初始值(即产生的第一个值),默认为1


maxvalue 最大值  nomaxvalue默认选项 没有最大值
minvalue 最小值  nominvalue默认选项
递增oracle 最大值 10的27次方 
递减序列 最小值1


cycle 和nocycle


cache(缓冲)






删除Oracle序列的语法是drop sequence 序列名;===========================








建表语句=============================================
create table car(
id  number(10) not null,
speed varchar2(32),
price varchar2(32),
des varchar2(32),
constraint pk_id primary key(id)
)




建立序列
create sequence seq_car_id
start with 1
increment by 1
minvalue 1
maxvalue 99999999
nocycle
nocache
order;






建立触发器
CREATE OR REPLACE TRIGGER trg_car_id
BEFORE INSERT ON car
FOR EACH ROW
BEGIN
SELECT seq_car_id.nextval INTO :new.id FROM dual;

END;






一、忘记除SYS、SYSTEM用户之外的用户的登录密码。


用sys或system用户登录,执行修改数据库密码
#sqlplus sys/oracle@"sid" as sysdba 


使用如下语句修改用户的密码:
SQL> alter user "username" identified by "newpass";


注意:密码不能全是数字。并且不能是数字开头。否则会出现:ORA-00988:口令缺失或无效




二、忘记SYS用户,或者是SYSTEM用户的密码。


如果是忘记system/sys密码,且人就在数据库服务器旁边,可以可以通过本地验证方式登录,执行如下操作:

$ sqlplus / as sysdba
SQL> alter user "username" identified by "newpass";






用数据字典
select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select * from all_users; 查看你能管理的所有用户!
select * from user_users; 查看当前用户信息 ! 


查询当前用户所有表
方法一:select * from tab;
方法二:select * from user_tables;




select username,default_tablespace from dba_users  where username='用户名';


查看结果(如查询scott用户的所属表空间):
搜索
select username,default_tablespace from dba_users  where username='SCOTT';--用户名需要大写

版权声明:本文为博主原创文章,未经博主允许不得转载。

从别的数据库导入数据时主键和自增长字段属性丢失问题

     如果是整个库的数据都要导出的话,可以在导入导出中选择:在SQL   server数据为之间复制对象和数据 ,这样各个数据表的主键、自增长字段及默认值就会保留了。在选择完source和dest...
  • lxc0819
  • lxc0819
  • 2007年01月17日 15:57
  • 1072

Mysql,SqlServer,Oracle主键自动增长的设置

1、把主键定义为自动增长标识符类型在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:create table customers(id int aut...
  • andyelvis
  • andyelvis
  • 2008年05月14日 23:45
  • 21107

Mysql 主键自增长问题小结

Mysql 主键自增长问题小结 http://blog.csdn.net/summerhust/article/details/7914098 在mysql中,主键有auto_increme...
  • wwww4
  • wwww4
  • 2015年07月30日 23:53
  • 2657

LitePal无法使用自定义主键的临时解决方案

LitePal无法使用自定义主键的临时解决方案1 解决LitePal的默认主键名为id,类型为long。而且不可改变,无法设置其他名称,也无法设置其他类型。 对于一些主键使用了String类型的后台...
  • R3lish
  • R3lish
  • 2016年12月12日 21:40
  • 2885

pl/sql developer里主键自动增长的设置

oracle不能实现字段数值的自增长。可以通过序列和触发器来实现一行数据在insert前实现某字段的自增。 首先随便建立一个表,menuId是需要自增的字段 create table men...
  • YABIGNSHI
  • YABIGNSHI
  • 2013年01月17日 12:12
  • 5132

mysql 主键自动增长问题

由Hibernate根据数据库表自动生成的"类名.hbm.xml"映射文件引起的。 很关键的一点 --------------------------------------------------...
  • caozhenghuang2012
  • caozhenghuang2012
  • 2015年11月24日 14:56
  • 588

Oracle 自增长主键 三种方式

Oracle操作篇 oracle建表空间,建表可以借PL/SQL进行创建,非常使用。介绍一个小技巧 1、oracle表中的主关键字,如何设成自动增长?并对该字段插入数据? 两种方法: 一、...
  • l3922768721
  • l3922768721
  • 2016年05月30日 21:16
  • 5334

Oracle 设置主键自增长

如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现。不过对于这个数据库的常用功能,我们还是有办法实现的。这里将展示使用触发器来实现主键自增。...
  • magician_Code
  • magician_Code
  • 2016年10月26日 21:03
  • 2060

Oracle 自增长主键的处理

oracle 自增长主键的处理
  • ZJDWHD
  • ZJDWHD
  • 2017年03月16日 15:13
  • 970

数据库自增主键可能产生的问题

在MySQL中经常会配置自增长属性的字段作为主键,特别是使用InnoDB存储引擎, 因为InnoDB的聚集索引的特性,使用自增长属性的字段当主键性能更好,但是使用自增主键也可能会带来一些问题。 ...
  • poisions
  • poisions
  • 2016年05月30日 15:47
  • 4490
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:orcle主键自增长实例 以及密码丢失问题
举报原因:
原因补充:

(最多只允许输入30个字)