jdbc 连接 oracle 插入一条数据得到 他的自增长主键 tad_id
createtabletrainingAgendaDirectory(tad_idINTNOTNULL,tad_directory_nameNVARCHAR2(100)N...
create table trainingAgendaDirectory(
tad_id INT NOT NULL,
tad_directory_name NVARCHAR2(100) NOT NULL,
tad_status INT NOT NULL,
CONSTRAINT PK_TRAININGAGENDADIRECTORY PRIMARY KEY (tad_id)
);
CREATE SEQUENCE trainingAgendaDirectory_seq;
CREATE OR REPLACE TRIGGER TAD_trigger BEFORE INSERT ON trainingAgendaDirectory
FOR EACH ROW
WHEN (new.tad_id IS NULL)
BEGIN
SELECT trainingAgendaDirectory_seq.NEXTVAL INTO :new.tad_id FROM DUAL;
END; 展开
tad_id INT NOT NULL,
tad_directory_name NVARCHAR2(100) NOT NULL,
tad_status INT NOT NULL,
CONSTRAINT PK_TRAININGAGENDADIRECTORY PRIMARY KEY (tad_id)
);
CREATE SEQUENCE trainingAgendaDirectory_seq;
CREATE OR REPLACE TRIGGER TAD_trigger BEFORE INSERT ON trainingAgendaDirectory
FOR EACH ROW
WHEN (new.tad_id IS NULL)
BEGIN
SELECT trainingAgendaDirectory_seq.NEXTVAL INTO :new.tad_id FROM DUAL;
END; 展开
1个回答
展开全部
不用这么麻烦 只要 使用insert 的returning 即可满足需求
更多追问追答
追问
定死了 必须这样增长ID 然后拿到我插入的那条数据的ID 求帮忙 求解救!
追答
是这样子的。。 这个东西不用变 。。你在 jdbc 中调用insert 语句的时时候 可以修改成调用 procedure 或者 是function 获取返回参数
procedure 或者function的返回参数 可以是 insert 的returnning 结果 ,所以和你说的定死了不冲突
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询