我有3個主鍵。 CompanyName,EmpNo,StartDate。在oracle中更新倒數第二個記錄sql
我想創建一個存儲過程,只允許我更新每個empno的倒數第二個記錄。我怎樣才能做到這一點?在這種情況下,我必須記錄每個empnno,但我只想更新倒數第二個記錄,無論記錄的數量爲多少 ex;如果我有100條記錄,我想更新同一個empno的第99條記錄。
CompanyNo EmpNo StartDate FinalDate
1 1 1999/01/01 2013/04/26
1 1 2013/04/17 9999/12/31
1 2 1999/01/0 2013/04/26
1 2 2013/04/17 9999/12/31
1 3 1999/01/01 2013/04/26
1 3 2013/04/17 9999/12/31
在這種情況下,我只想編輯FinalDate中倒數第二。 這些;
CompanyNo EmpNo StartDate FinalDate
1 1 1999/01/01 2013/04/26 <--- this finaldate field
1 2 1999/01/01 2013/04/26 <--- this finaldate field
1 3 1999/01/01 2013/04/26 <--- this finaldate field
您的主鍵是如何表示記錄的順序的? – 2013-04-27 07:54:50
「編輯行」的含義是什麼?你想阻止對方的更新?你想要在那一行更新什麼? – 2013-04-27 07:57:45
我試着訂購ASC的3個主鍵,然後嘗試使用ROW_NUMBER,但也許我錯過了一些東西。 – Edu 2013-04-27 08:07:23