一个表中的ID是自增字段,现在由于业务需求,需要与另一个表在插入时一起用事务插入,这样另一个表的插入的ID如何从自增字段里获得??
解决方案 »
- 请教各位大侠一个关于存储过程中SQL不含IN的问题。
- 一个简单的oralce 问题
- 一个SQL语句问题
- 用存储过程执行insert 操作时,却在主键上出入了sequence?
- unixware7.0,orcale8.0,服务器是IBM-xSeries365,在客户端读orcale中的数据,英文数据都能正常显示,但是中文显示就是"???"。
- oracle存储过程问题,特级
- 高分请救一个SQL问题?
- 如何确定一个tirm后的字符串长度,是否是日期值,是否可转化为数字型?
- ORACLE8I DOS 中使用的命令有哪些?
- 安装oracle没反应,救命啊!!100分不够再加!100分不够再加!100分不够再加!
- 存储过程的问题
- PL/Sql 左边的table里面含许多表,我就建了两张表,默认表都n张
FOR EACH ROW
DECLARE
v_newVal NUMBER(12) := 0;
v_incval NUMBER(12) := 0;
BEGIN
IF INSERTING AND :new.SerialNo IS NULL THEN
SELECT table1_ID_SEQ.NEXTVAL INTO v_newVal FROM DUAL;
IF v_newVal = 1 THEN
SELECT max(SerialNo) INTO v_newVal FROM table1;
v_newVal := v_newVal + 1;
LOOP
EXIT WHEN v_incval >= v_newVal;
SELECT table1_ID_SEQ.nextval INTO v_incval FROM dual;
END LOOP;
END IF;
:new.ID := v_newVal;
END IF;
END;
原来自增是添加了一个触发器,触发器里运行了序列,在事务的其他语句中使用序列的currvalue就可以了。