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
Bạn quên các parens đóng và đang cố gọi các hàm trên cursor
thay vì c
và cũng có vấn đề với thụt lề. Bạn cũng nên sử dụng callproc()
hoạt động như được ghi lại tại đây.
Như catavaran đã nói, bạn nên đọc tài liệu về thực thi SQL tùy chỉnh và sử dụng trình giữ chỗ. Ngoài ra, trong Django 1.6+, các giao dịch được cam kết tự động nên không cần c.execute("COMMIT")