oracle索引、序列、同义词

-- *******************索引、序列、同意词*******************
-- 创建、维护和使用序列(提供有规律的数值)
-- 1.创建序列

CREATE SEQUENCE dept_deptid_seq
-- 每次增长的数值[INCREMENT BY n]
   INCREMENT BY 10
-- 从哪个值开始[START WITH n]
   START WITH 120
-- 最小值[{MINVALUE n | NOMINVALUE}]
   MINVALUE 1
-- 最大值[{MAXVALUE n | NOMAXVALUE}]
   MAXVALUE 9999
-- 是否缓存登录[{CACHE n | NOCACHE}]
   NOCACHE
-- 是否需要循环[{CYCLE | NOCYCLE}]
   NOCYCLE;

-- 2.获取序列的下一个值(next.val查询使用一次则会增加一次)
Select dept_deptid_seq.nextval from dual;

-- 3.使用序列
Insert into t_user values(dept_deptid_seq.nextval,5);

-- 4.查询所有序列(如果指定NOCACHE 选项,则列LAST_NUMBER 显示序列中下一个有效的值)
SELECT    sequence_name, min_value, max_value, 
    increment_by, last_number
FROM    user_sequences;

-- 5.查询当前序列的值
SELECT    dept_deptid_seq.CURRVAL FROM    dual;

-- 6.修改序列
-- 修改序列的注意事项
-- 必须是序列的拥有者或对序列有 ALTER 权限
-- 只有将来的序列值会被改变
-- 改变序列的初始值只能通过删除序列之后重建序列的方法实现

ALTER SEQUENCE dept_deptid_seq
   INCREMENT BY 10
   -- 修改序列不能修改start with
   -- START WITH 250
   MINVALUE 1
   MAXVALUE 9999
   CACHE 10
   NOCYCLE;

-- 7.删除序列
DROP SEQUENCE dept_deptid_seq;

-- 8.创建和维护索引(提高查询的效率)
-- 自动创建: 在定义 PRIMARY KEY 或 UNIQUE 约束后系统自动在相应的列上创建唯一性索引

-- 9.创建索引
CREATE INDEX     emp_last_name_idx
ON employees(last_name);

-- 10.查看索引
SELECT    
   ic.index_name, ic.column_name,ic.column_position col_pos,
   ix.uniqueness
FROM    
   user_indexes ix, user_ind_columns ic
WHERE    
   ic.index_name = ix.index_name AND    ic.table_name = 'EMPLOYEES';

-- 11.删除索引
DROP INDEX emp_last_name_idx;


-- 12.创建同义词(给对象起别名,给表或视图创建同义词)
CREATE SYNONYM e FOR employees;
SELECT * FROM e;

-- 13.删除同义词
DROP SYNONYM e;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值