关于数据库中sequence tab1中有两个主键seqc,idseqc和id可以唯一确定一条记录其中id在插入记录的时候要指定有没有办法让seqc能根据不同的id设置不同的自增序列。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 定义两个不同的seqc啊然后用取啊试试 没有完全理解楼主的意思。楼主是要实现这样的功能吗?id seqc1 11 21 32 12 2... 这位大哥貌似没有明白我的意思,id是指定的撒,seqc要求根据不同的id拥有不同的序列,假如说id为1的记录有10条,那么在插入操作时,我只需要确定id就好了,然后seqc肯定是selece seqc.nextval from dual这样类似的语句取出来的。如果我还有id为2的记录5条,那么seqc要求又从1开始一直到5如此如果有id为n的记录x条,那么seqc还要从1开始到x。这样是不是用sequence不好. seqc肯定会有断号的问题,而且一个seqc就可以确定唯一性,为什么还要用seqc+id作为主键呢? 楼主一定要用seqc+id作为主键,想简单用seqc实现肯定不可能实现。还是写程序吧或其它实现方法 不用SEQUENCE,用个触发器就好CREATE OR REPLACE TRIGGER TRI_TEST BEFORE INSERT ON TAB1 FOR EACH ROWBEGIN SELECT MAX(SQEC)+1 INTO :NEW.SQEC FROM TAB1 WHERE ID=:NEWID; END; 这种情况倒是经常见到,比如id表示某一个用户,这个用户的属性每次发生变更,都新生成一条记录,id保持不变,而seqc就往上加。我们都是在程序里面处理,就像上面触发器里面的语句,取一下该id对应的seqc的最大值。 运行过程发生错误,请大家帮忙看看! SQL语句如何查B关系中某字段不为0的A关系 imp导入一个表,且property : ignore = y 触发器里带游标,请教!! oracle数据库中,如何保存文件或者图片? 100分求《Oracle PL/SQL程序设计基础教程》电子书下载, 怎么求多个date型的平均时间 怎么解决“超出打开游标的最大数”的问题? like %%在PL/SQL怎么用?特别是like一个变量的时候 Orcale的DMP文件导入问题 使用带恢复目录的RMAN相关配置步骤的疑问 帮忙看下to_date的用法
然后用取啊
试试
1 1
1 2
1 32 1
2 2
...
这位大哥貌似没有明白我的意思,id是指定的撒,seqc要求根据不同的id拥有不同的序列,
假如说id为1的记录有10条,那么在插入操作时,我只需要确定id就好了,然后seqc肯定是selece seqc.nextval from dual这样类似的语句取出来的。
如果我还有id为2的记录5条,那么seqc要求又从1开始一直到5
如此如果有id为n的记录x条,那么seqc还要从1开始到x。
这样是不是用sequence不好.
seqc肯定会有断号的问题,而且一个seqc就可以确定唯一性,为什么还要用seqc+id作为主键呢?
BEGIN
SELECT MAX(SQEC)+1 INTO :NEW.SQEC FROM TAB1 WHERE ID=:NEWID;
END;
我们都是在程序里面处理,就像上面触发器里面的语句,取一下该id对应的seqc的最大值。