2017-07-15 83 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;