PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Gọi thủ tục SQL được lưu trữ Postgres Từ Django

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")



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để thiết kế một lược đồ cơ sở dữ liệu để lưu trữ văn bản bằng nhiều ngôn ngữ?

  2. postgres:Truy vấn 'select * from user' thực sự đang làm gì?

  3. học thuyết Dbal querybuilder dưới dạng tuyên bố chuẩn bị

  4. Cách hiệu quả nhất để duy trì hàng nghìn thực thể là gì?

  5. Làm thế nào để loại bỏ cơ sở dữ liệu PostgreSQL nếu có các kết nối đang hoạt động với nó?