我需要在python中調用存儲過程。包裝函數接受n個參數。 根據參數列表,我需要引用或取消引用參數。我也需要發送一個空參數。迭代函數參數並保留python中的排序順序
如何迭代函數參數並構建SQL字符串?
例如。在存儲過程調用看起來是這樣的 - SP_TEST(「CHRA」,INTB,CHRC)
def execSp(a,b,c,d):
<iterate through params and build param list>
#If the parameter c is null the SQL should be built as below
SQL="exec SP_TEST('a',b,Null)";
我試着用當地人(),但是它返回一個無序列表
是新來的蟒蛇,因此任何線索將是很有幫助。
它通常是一個好主意,讓「功能的臉」 - 也就是說,接口程序的其他部分,如「友好「儘可能。你爲什麼需要引用一些參數,而其他的不是?似乎讓生活變得更加困難......該功能可以不處理這個問題嗎? – Floris
感謝您的回覆。我們可以編寫它,以便函數處理它。但是,這是重寫現有的應用程序。試圖儘量減少現有應用程序中的代碼更改次數。當前的UI層使用一定數量的參數進行調用,我們現在需要一個python包裝來調用底層存儲過程。引號是處理字符串而不是整數。作爲存儲過程調用的一部分,能夠傳遞NULL是額外的複雜性。 – Ansirk
我現在明白了。我已經發布了一個答案,我相信你所要求的一切 - 如果沒有,你應該能夠很容易地找出需要的改變。 – Floris