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;
展开
 我来答
savior8718
2012-11-01 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:83.5万
展开全部
不用这么麻烦 只要 使用insert 的returning 即可满足需求
更多追问追答
追问
定死了 必须这样增长ID  然后拿到我插入的那条数据的ID  求帮忙 求解救!
追答
是这样子的。。  这个东西不用变 。。你在 jdbc 中调用insert 语句的时时候  可以修改成调用 procedure 或者 是function 获取返回参数    

procedure 或者function的返回参数 可以是 insert 的returnning 结果 ,所以和你说的定死了不冲突
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式