博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle自学日记(3)
阅读量:6539 次
发布时间:2019-06-24

本文共 1382 字,大约阅读时间需要 4 分钟。

hot3.png

1.AUTO INCREMENT

AUTO INCREMENT会在新纪录插入表中时声称一个唯一的数字,通常是希望在插入新纪录时,自动创建主键字段的值。方法为:

oracle必须通过sequence对创建 auto-increment(该对象声称熟悉序列)。

首先 create sequence:

create sequence sqe_name   --命名minvalue 1          --最小值    start with 1        --从1开始increment by 1     --每次加1NOMAXVALUE        -- 不设置最大值  NOCYCLE               -- 一直累加,不循环 cache 10

上面的代码创建名为 seq_person 的序列对象,它以 1 起始且以 1 递增。该对象缓存 10 个值以提高性能。CACHE 选项规定了为了提高访问速度要存储多少个序列值。

要在 "Persons" 表中插入新记录,我们必须使用 nextval 函数(该函数从 seq_person 序列中取回下一个值):

INSERT INTO Persons (P_Id,FirstName,LastName)VALUES (seq_person.nextval,'Lars','Monsen')

上面的 SQL 语句会在 "Persons" 表中插入一条新记录。"P_Id" 的赋值是来自 seq_person 序列的下一个数字。"FirstName" 会被设置为 "Bill","LastName" 列会被设置为 "Gates"。

oracle删除序列化:

 DROP SEQUENCE seq_name;

oracle修改序列化:Alter Sequence  

Alter sequence 的例子         

 ALTER SEQUENCE  emp_sequence          INCREMENT BY 10          MAXVALUE 10000          CYCLE    -- 到10000后从头开始          NOCACHE ;

 如果想要改变 start值,必须 drop  sequence 再  re-create 

2.NUll函数

在ORACLE中有个函数为       NVL(param1,param2)

这个函数的功能是,如果param1为NULL,则此表达式的运算结果为param2,否则为param1。

3.Group by

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。

SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name

根据 column_name 的内容来进行分类。

选中的列,在select语句执行时能生成一张表,才能执行。

Having 的加入,给select的结果加入筛选条件,即Having 替代 where,作为Group by 结果的筛选条件。

转载于:https://my.oschina.net/VennLee/blog/205887

你可能感兴趣的文章
hadoop无法启动DataNode问题
查看>>
java泛型中<?>和<T>区别
查看>>
这里是指推送通知跟NSNotification有区别:
查看>>
用户ID的代码生成
查看>>
win7经常出现“关闭xxxx前您必须关闭所有会话框”
查看>>
SNMP安全配置的两种方法(也可同一时候兼顾配置两种方法)
查看>>
MongoDB 自己定义函数
查看>>
Summary Day30
查看>>
逆向输出回环数组
查看>>
自己动手,实现“你的名字”滤镜
查看>>
高清摄像头MIPI CSI2接口浅解【转】
查看>>
C# CancellationTokenSource和CancellationToken的实现
查看>>
PCIE BAR空间
查看>>
winform命名规范
查看>>
如何用数学课件制作工具画角平分线
查看>>
VS2015 中统计整个项目的代码行数
查看>>
Anaconda入门使用指南
查看>>
UWP控件与DataBind
查看>>
bash: php: command not found
查看>>
XVIII Open Cup named after E.V. Pankratiev. Eastern Grand Prix
查看>>