0
我試圖從MySQL調用存儲過程並獲取OUT參數。 我有這樣一個代碼,在Python無法從存儲過程中檢索OUT參數(MySQL)
from django.db import connection
# ...
cursor = connection.cursor()
out_arg1 = ""
args = [in_arg1, in_arg2, out_arg1]
result = cursor.callproc('some_procedure', args)
print(args[2], result[2])
cursor.close()
# ...
MySQL的過程
CREATE DEFINER=`root`@`localhost` PROCEDURE `some_procedure`(IN `in_arg1` VARCHAR(255) CHARSET utf8, IN `in_arg2` VARCHAR(255) CHARSET utf8, OUT `out_arg1` VARCHAR(255) CHARSET utf8)
MODIFIES SQL DATA
BEGIN
proc:begin
set out_arg1="Result";
end;
END;
我檢查 ARGS,並將結果通過 cursor.callproc方法返回
呼叫程序,但沒有數據改變。
任何想法爲什麼會發生這種情況?
在此先感謝。
P.S.我試圖從MySQL控制檯調用此過程,並且一切正常。
您是否嘗試過做cusor.execute調用callproc方法之後( 「SELECT @ out_arg1」)? – Peeyush 2014-11-21 08:47:34
不,我已經通過過程調用(使用pdb)進行調試,'cursor.callproc'實現爲參數生成自定義名稱。 – Akisame 2014-11-21 10:58:03