0
我正在爲我的web應用程序編寫一個標量函數。我想計算員工的加入日期和辭職日期之間的日期差異。如何在遊標中使用參數變量SQL
我已經得到了大部分代碼的工作,但我只是無法弄清楚如何在遊標中使用參數變量。
讓說我有這個代碼塊
Declare myCursor Cursor for
Declare @join_date datetime
Declare @resign_date datetime
Declare @emp_stat nvarchar(50)
--What I have been trying to do. (Not working)
Select @join_date = Convert(datetime, join_date), @emp_stat = Convert(datetime, emp_stat) from t_emp_info where .....
OPEN product_cursor
WHILE @@FETCH_STATUS = 0
BEGIN
if (@emp_stat = 'P')
Begin
//DateDiff .....
End
FETCH NEXT FROM vendor_cursor
INTO @join_date , @emp_stat
End
Close myCursor
DEALLOCATE myCursor;
我不能得到這個工作,但我要的是我要存儲在參數的值,所以我可以在if條件使用聲明。不知道如何解決這個問題。幫助將不勝感激
你爲什麼使用遊標? – Jeremy
,因爲我試圖循環查看我的表以查看哪個員工具有辭職狀態和當前狀態。員工可以辭職並回來。所以我需要循環,以獲得最新的加入日期。否則,第一天出現在表格中,現在狀態將永遠是他第一次加入的日子(而不是我想要的)例如。 2010年1月1日工作人員加入我們。然後辭職於5/3/2013。 2014年4月5日再次回來。在這種情況下,我希望他的加入日期更改爲4/5/2014而非2010年1月1日。 – RedRocket
你一般都不想循環記錄。這是在SQL中編程的一種不好的方式。 – HLGEM