我有2個表:光標創建
Tresent-JanOrg(速度,數量)
Rate (2, 5, 7)
Qty (3, 7, 7)
溫度(JanOrg)
Pkid JanOrg FebOrg MarOrg
1 2 0 0
我要做的計算3次(3排在Tresent中)來計算
JanOrg = (JanOrg * Qty * Rate)/100
和總janorg應該再在臨時表下更新janorg
所以邏輯
JanOrg = ((2 * 2 * 3)/100) + ((2 * 5 * 7)/100) + ((2 * 3 * 7)/100)))
我試圖使用SQL Server 2012中的光標,但它不返回正確的結果
能否請您建議我嘗試下面的代碼進行這些計算的更好的辦法:
OPEN complex_cursor
FETCH NEXT FROM complex_cursor INTO @rate, @qty
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE #temp
SET JANORG = (JANORG * @rate * @qty)/100
FETCH NEXT FROM complex_cursor INTO @rate, @qty
END
CLOSE complex_cursor
DEALLOCATE complex_cursor
哪個RDBMS是爲了這個?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –
SQL SERVER 2012 – user5987950
你應該嘗試** NOT **來使用遊標!這將是聰明和高效.....遊標是魔鬼 - **無論何時何地都可以避免它們** –