第一范文网 - 专业文章范例文档资料分享平台

Oracle学习笔记

来源:用户分享 时间:2025/5/20 23:56:18 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

勿传网上!严禁谋利! Oracle学习笔记

常彦博

19.7哪些写法会导致索引用不了

1)函数导致索引用不了:where upper(colname)='carmen' 2)表达式导致索引用不了:where colname*12=12000

3)部分隐式数据类型导致索引用不了:where colname=2(c1为varchar2类型)

? 注意事项:经过计算的结果,在索引里是找不到的。只能建函数或表达式的索

引。

4)like和substr where colname like 'ca%';只要通配符不在前面,就可以用索引 where substr(colname,1,2)='ca';不可用索引 5)查询所有的null值:where colname is null 6)否定形式:not in、<> ? 注意事项:把not in转成not exist可以用索引。 eg:创建函数索引 create index test_c2_funidx on test(round(c2)); 43

勿传网上!严禁谋利! Oracle学习笔记

常彦博

二十、数据库对象:序列号sequence

面临问题:主键约束和唯一键约束要求列中每个值都必须是唯一的 程序员怎样获得唯一值:

使用Oracle提供的数据库对象sequence:序列号 程序员自己写代码实现

20.1什么是sequence

Oracle提供的数据库对象。

1)为了解决主键值和唯一键值的唯一性(即解决如果保证插入的数据是唯一的)。 2)按照预定义的模式自动生成整数的一种机制,保证数字的自动增长。 20.2创建sequence create sequence seq_name [increment by 1 | inteher] [start with integer] [maxvalue inteher | nomaxvalue] [minvalue inteher | nomaxvalue] [cycle | nocycle] (有缺省值) [cache 20(缺省值) | integer | no cache] ? 注意事项:integer一定为数值类型 eg1:创建序列号,创建sequence最简单的方式:create sequence s1 create sequence s1 start with 1 increment by 1 maxvalue 5 ? 注意事项:表、视图、索引、序列号都不能重名! eg2:若找到重名的对象 select object_type from user_object where object_name='s1';找出重名的s1是那个对象中的 drop sequence s1;发现是sequence中的s1,则删除sequence s1 20.3缺省是nocycle(不循环) eg1:不循环情况 create sequence s1 start with 1 maxvalue 5; select s1.nextval from dual; select 语句连续执行6遍,最后一次:报错 ORA-08004:sequence S110.NEXTVAL exceeds MAXVALUE and cannot be instantiated eg2:循环情况 create sequence s2 start with 1 maxvalue 5 cycle cache 4 select语句连续执行6遍,最后一次:第6次重新从1开始 20.4缺省cache 20

当没写cycle时,即为缺省值nocycle时,由于为cache 20,所以一次性取出20个数,存

44

搜索更多关于: Oracle学习笔记 的文档
Oracle学习笔记.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1fo2j1t3wa9s4tl8lgrm6o2vt5lzqa00cp3_13.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top