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';--用户名需要大写

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

Orcle 主键自增(序列sequence、触发器trigger、主键primary)

设置主键: 1、建表时指定primary key: create table test(id number(6) primary key, name varchar2(20) ); 2、如果表已...

Orcle 主键自增(序列sequence、触发器trigger、主键primary)

设置主键: 1、建表时指定primary key: create table test(id number(6) primary key, name varchar2(20) ); 2、如果表已...

activit5的主键问题

  • 2013年04月01日 22:37
  • 19KB
  • 下载

深入探讨SQL_Server_表的主键问题

  • 2011年08月26日 13:16
  • 19KB
  • 下载

hibernate oracle主键自增长中sequence跳号无序的问题

1. 配置序列产生器相关属性 hibernate注解设置数据库主键自增长时,如果oracle表中的主键ID没有按照正常的sequence自增长(+1)存入数据库。可以在序列产生器中加上allocat...

填报报表解决不能填入自动增长主键问题

在设计填报报表时,如果用的是Oracle数据裤,那么会面临一个问题:主键不能设置为自动增长。解决的办法很容易,跟我们平时使用Oracle一样,在创建表的时候,创建序列和触发器。代码如下:--建立SEQ...

hibernate主键冲突问题

  • 2014年12月25日 16:42
  • 2KB
  • 下载

GUID类型主键分层问题

  • 2014年09月18日 08:16
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:orcle主键自增长实例 以及密码丢失问题
举报原因:
原因补充:

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