java中,执行SQL语句问题

我需要执行两条SQL语句,往两张表插入数据,其中第一条语句插入表A,主键是用序列生成的(就是说在程序中我并不知道主键的值),只有主键能判断唯一那么我在插入第二张表B数据时... 我需要执行两条SQL语句,往两张表插入数据,其中第一条语句插入表A,主键是用序列生成的(就是说在程序中我并不知道主键的值),只有主键能判断唯一
那么我在插入第二张表B数据时,会有一个字段是外键,引用A的主键列,我怎么在插入时能知道这个外键应该是几(就是上一条SQL序列生产的值)
展开
 我来答
百度网友2a06144
2012-04-26 · 超过22用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:64.9万
展开全部
楼主用的是jdbc吧,在调用Connection的prepareStatement方法获得PreparedStatement时多传入PreparedStatement.RETURN_GENERATED_KEYS这个参数就好,例如PreparedStatement prepareStatement = con.prepareStatement(insertSql, PreparedStatement.RETURN_GENERATED_KEYS);
kofjjj
2012-04-26 · TA获得超过595个赞
知道小有建树答主
回答量:1167
采纳率:25%
帮助的人:531万
展开全部
看你操作数据库的方法了
如果能保证你是当前时间段,你是唯一操作数据库的.那么插入a表以后在selet a表,按主键倒序排列去一条.这条就是你当之前插入的,你去除主键插入到第二章表
追问
那样不太好吧,万一多个用户同时操作不就容易出错?
或者这样
declare
ids number := seq_orders_id.nextval;
begin
insert into orders values (ids ,2,2,sysdate,'test2');
end;
我能通过在java 程序里拿到 ids 这个变量的值吗
追答
java不熟.其他的语言连数据库的时候都有锁的..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
virus234
2012-04-26 · 超过22用户采纳过TA的回答
知道答主
回答量:140
采纳率:0%
帮助的人:70.3万
展开全部
没用框架的话,
是什么东西在给你生成主键啊?
他就不提供的方法去得到这个东西?
总不会让你重新查询一遍吧 -。-
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dngoryaner
2012-04-26 · TA获得超过2350个赞
知道小有建树答主
回答量:2404
采纳率:0%
帮助的人:1131万
展开全部
请问。你用的是神马框架?
追问
初学,没框架
或者,有没有办法,在执行插入第一条记录的时候,能有返回值返回这个ID
追答
这个就难说了。因为不同的框架或者不同的数据库都有不同的返回方式啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
薄琛l3
2012-04-26 · TA获得超过366个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:131万
展开全部
是用JDBC吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式