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
Zapomněli jste uzavírací závorky a pokoušeli jste se volat funkce na cursor
místo c
a také měl problém s odsazením. Měli byste také použít callproc()
fungovat, jak je zdokumentováno zde.
Jak řekl catavaran, měli byste si přečíst dokumentaci o provádění vlastního SQL a používat zástupné symboly. Také v Django 1.6+ jsou transakce potvrzeny automaticky, takže není potřeba c.execute("COMMIT")