1
我有N列:A,B,C,... N每個都是十進制(8,2)。 我想寫一個存儲過程,需要一個行ID和一個十進制(8,2)X.如何跨多個列進行級聯遞減
我希望它減少A,直到A達到零或直到它減少了X.如果A達到零和X比A更大,那麼我想通過X - A的原始值來減少B,等等。
例如:
select * from foo_table where id = 0;
| id| A | B | C |..
+---+---+---+---+
| 0 | 5 | 3 | 2 |
call my_stored_proc(0,9);
select * from foo_table where id = 0;
| id| A | B | C |..
+---+---+---+---+
| 0 | 0 | 0 | 1 |
什麼是這樣做的推薦和高性能的方式?
多少列閱讀更多關於變量你有?它應該是固定的數字 – lad2025
你能告訴我們從每一步到達'0,0,1'的數字進展嗎?可能比您想象的更容易解決問題。 –
無論出現什麼問題,如果使用RDBMS,推薦的和高性能的解決方案將會正常化, – Strawberry