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
Você esqueceu os parênteses de fechamento e estava tentando chamar as funções no
cursor
em vez de c
e também teve um problema com recuo. Você também deve usar o callproc()
funcione conforme documentado aqui.
Como catavaran disse, você deve ler a documentação sobre como executar SQL personalizado e usar espaços reservados. Além disso, no Django 1.6+, as transações são confirmadas automaticamente, então não há necessidade de
c.execute("COMMIT")