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()
. का भी उपयोग करना चाहिए दस्तावेज़ के रूप में कार्य करें यहां।
जैसा कि कैटावरन ने कहा था, आपको कस्टम एसक्यूएल निष्पादित करने और प्लेसहोल्डर का उपयोग करने पर दस्तावेज़ीकरण पढ़ना चाहिए। साथ ही, Django 1.6+ में, लेनदेन स्वचालित रूप से किए जाते हैं इसलिए c.execute("COMMIT")
की कोई आवश्यकता नहीं है।