我的任務是編寫一個採用用戶指定公式作爲參數的存儲過程,並使用公式上的表進行計算。用於公式的SQL解析器作爲參數傳遞
這是針對勝任力測試的結果。測試分成幾個部分,每部分分配一個變量,例如。 E1
和E2
。
現在每個部分都包含問題及其分數。例如。當[number]
表示問題編號時E1 = [1]+[2]-[3]+[4]+[5]+[6]
。
現在用戶將指定一個類似上述[1]+[2]-[3]+[4]+[5]+[6]
的公式,並且我必須編寫一個解析器,用該問題的分數替換問題編號。但是有一個障礙,因爲一個部分可以引用另一部分的分數,例如。 E2 = [7]+[8]+([6]-E1)+[9]
。
因此,我需要編寫一個解析器來解析字符串,用分數替換[Number],如果它碰到變量編號,則在繼續之前首先計算分數分數。
我可以想象它會像遞歸函數一樣,但任何人都可以在正確的方向上幫助我嗎?
親切的問候。
+1我經常說SQL是專門爲處理數據,而不是操縱代碼。 – 2012-12-09 17:53:06