2017-07-15 91 views
0

我有两个表,第一个有列ID, email, password。第二张桌子有id, salary, company, dept如何从表1中更新表2中的ID sql

表1 col ID是自动生成的号码。

我有一个Java窗体收集所有这些值,除了ID和保存到数据库使用过程。

现在,无论何时向Java表单添加详细信息,如何将它从Java表单传递到表2中的其他值?

我试图insert into table2(id) select id from table1;insert into table2(salary, company) values (x, y);

如何结合使用SQL的程序这两个说法?

+0

能否请您格式化你的问题更好,让你的问题更明显?另外您尝试的步骤是什么,以及您的代码示例是什么? – Fabien

+0

Yess做了,现在清楚了 –

+0

我编辑它,因为它根本不清楚。使用正确的格式代码示例,并让您的问题更加明显。 – Fabien

回答

0

您可以通过两种方式来实现:

1)找出生成的ID,这将是在你的代码, 然后得到那个ID和在表中插入函数或过程2
OR

2)你必须让这是最后插入的行的行ID,行ID为每个表独特:

SELECT MAX (ROWID) FROM table1 

使用ROWID获取最后一个ID:

SELECT id FROM table1 WHERE ROWID IN (SELECT MAX (ROWID) FROM table1) 

现在使用其ID和插入到表2,这有另一个新行插入到表之前1

0

你可以试着这样做:

create or replace procedure proc (em in varchar2,pass in varchar2,sal in number,cmp in varchar2,d in number) 
as 
sid number; 
begin 
insert into table1(id,email,password) values(<autogenerated_number>,em,pass) returning id into sid; 
insert into table2(id,salary,company,dept) values(sid,sal,cmp,d); 
commit; 
end; 
相关问题