c = connection.cursor()
try:
c.execute("BEGIN")
c.callproc("fn_save_message3", (Message_Subject, Message_Content, Message_Type, Message_Category, Created_By, Updated_By))
results = c.fetchall()
c.execute("COMMIT")
finally:
c.close()
print results
終了パラメーターを忘れて、cursor
の関数を呼び出そうとしていました c
の代わりに インデントにも問題がありました。 callproc()
も使用する必要があります 文書化された
カタバランが言ったように、カスタムSQLの実行に関するドキュメントを読み、プレースホルダーを使用する必要があります。また、Django 1.6以降では、トランザクションは自動的にコミットされるため、c.execute("COMMIT")
は必要ありません。