社区
基础和管理
帖子详情
创建序列如何从指定的表中选取最大值开始
hbgzg3006
2011-06-08 04:20:18
比如client表,有列ID,我想创建一个sequence:seq_client, start with client中的Max(ID)。如何实现?
谢谢。老外写的我没测试通过呢?
http://forums.devshed.com/oracle-development-96/create-sequence-using-subselect-value-from-select-542288.html
...全文
166
10
打赏
收藏
创建序列如何从指定的表中选取最大值开始
比如client表,有列ID,我想创建一个sequence:seq_client, start with client中的Max(ID)。如何实现? 谢谢。老外写的我没测试通过呢? http://forums.devshed.com/oracle-development-96/create-sequence-using-subselect-value-from-select-542288.html
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hbgzg3006
2011-06-09
打赏
举报
回复
谁有测试可以过的?
hbgzg3006
2011-06-09
打赏
举报
回复
[Quote=引用 5 楼 tangren 的回复:]
CREATE sequence customer_id start with (select max(customer_id) from customer) increment by 1;
没有这种语法。
DECLARE
v_max_id NUMBER;
BEGIN
--取出最大值
SELECT MAX(customer_id) INTO v_max_id FROM ……
[/Quote]
我怎么没测试通过呢?
hbgzg3006
2011-06-08
打赏
举报
回复
[Quote=引用 5 楼 tangren 的回复:]
CREATE sequence customer_id start with (select max(customer_id) from customer) increment by 1;
没有这种语法。
DECLARE
v_max_id NUMBER;
BEGIN
--取出最大值
SELECT MAX(customer_id) INTO v_max_id FROM ……
[/Quote]
我也在国外网站看到类似的了 我试试 呵呵
luoyoumou
2011-06-08
打赏
举报
回复
[Quote=引用楼主 hbgzg3006 的回复:]
比如client表,有列ID,我想创建一个sequence:seq_client, start with client中的Max(ID)。如何实现?
谢谢。老外写的我没测试通过呢?
http://forums.devshed.com/oracle-development-96/create-sequence-using-subselect-value-from-select-542288.h……
[/Quote]
-- 你分两部走撒:
-- *(01) 用查询语句查出当前 client表中的id字段的最大值:
select maxi(id) from client;
-- 用上面查询得到的值+1作为你要创建的序列的起始值!
hbgzg3006
2011-06-08
打赏
举报
回复
[Quote=引用 3 楼 hbgzg3006 的回复:]
引用 2 楼 bobo12082119 的回复:
创建一个从大到小的序列不可以吗?
create sequence seq_reverse
start with 1000
increment by -1
maxvalue 100
minvalue 1
nocycle
order
[/Quote]
刚说错了 总有一天有可能会走到重复的时候。还是避免的好。呵呵。
tangren
2011-06-08
打赏
举报
回复
CREATE sequence customer_id start with (select max(customer_id) from customer) increment by 1;
没有这种语法。
DECLARE
v_max_id NUMBER;
BEGIN
--取出最大值
SELECT MAX(customer_id) INTO v_max_id FROM customer;
--动态创建seq
EXECUTE IMMEDIATE ' CREATE sequence customer_id
START WITH ' || v_max_id || ' increment BY 1';
END;
/
hbgzg3006
2011-06-08
打赏
举报
回复
[Quote=引用 1 楼 java3344520 的回复:]
用触发器吧,
[/Quote]
没写出来……
我pl/sql写,他不让我在begin end中用create……
hbgzg3006
2011-06-08
打赏
举报
回复
[Quote=引用 2 楼 bobo12082119 的回复:]
创建一个从大到小的序列不可以吗?
create sequence seq_reverse
start with 1000
increment by -1
maxvalue 100
minvalue 1
nocycle
order
[/Quote]
总有一天有可能会跟Max(ID)重复的。还是避免的好。呵呵。
304的的哥
2011-06-08
打赏
举报
回复
创建一个从大到小的序列不可以吗?
create sequence seq_reverse
start with 1000
increment by -1
maxvalue 100
minvalue 1
nocycle
order
iqlife
2011-06-08
打赏
举报
回复
用触发器吧,
postgres设置自增
postgres设置自增 postgres 自增需要先进行
创建
自增
序列
,
指定
自增值,最小值,
最大值
: CREATE SEQUENCE "public"."tt_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; 设置
序列
所有者: ALTER TABLE "public"."tt_id_seq" OWNER TO "postgres"; 设置自增从1开始: SELECT setval('"public"."t
【Oracle】的表空间、视图、
序列
、同义词、索引详解
1.Oracle 数据库对象 数据库对象是数据库的组成部分,常常用 CREATE 命令进行
创建
,可以使用 ALTER 命令修改,用 DROP 执行删除操作。2.同义词 同义词(Synonym)是数据库对象的一个别名,Oracle 可以为表、视图、
序列
、过程、函数、程序包等
指定
一个别名。同义词有两种类型: 私有同义词:拥有 CREATE SYNONYM 权限的用户(包括非管理员用户)即可
创建
私有同
Mysql生成任意
指定
两时间范围内的日期列表
前言:工作当中有一个场景是数据库存了一些数据,但是日期是零碎的,只有当用户进行了相应日期的操作才会有对应记录的生成。在做所有的数据统计可视化的时候,需要看到的是每一天的日期,此时就需要提供一段时间范围内的所有日期。 在网上查找资料,看到的有三种方法,总结如下: 一、
创建
存储过程(即
创建
一个临时的日历表。我是这样理解的), 例一: 以下是我从别人的博客抄过来的例子,这个例子是将日期范围写在创...
使用range()
创建
数字列表与数字列表解析
函数 list()可以将 range() 的结果直接转换为列表,将ramge()作为list()的参数的话将输出数字列表 使用range()时还可以
指定
步长。例如 a=list(range(2,11,2)) print(a) 可以得出 [2,4,6,8,10] 所以说range(2,11,2)中2,11是表示从2开始到11或超过11结束,第三个数字表示每相邻两个数之间的间隔。 两个**表示乘方运算 min表示最小值,max表示
最大值
,sum表示所以数字相加的值 举例 a=[1,2,3,4,5] pri
ARIMA时间
序列
一:基础我们可以使用sacn()函数的”skip”参数
指定
文件中从顶部开始有多少行需要忽略。为了将数据读入到R,并且忽略掉文件中的前三行, 我们输入以下代码: kings <- scan(“D:\test\timeseries\king.txt”,skip=3) Read 42 items kings [1] 60 43 67 50 56 42 50 65 68 43 65
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章