Hướng dẫn postgresql python stored procedure example - Ví dụ về thủ tục được lưu trữ trong python postgresql

Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu cách gọi các thủ tục được lưu trữ của PostgreSQL từ chương trình Python.: in this tutorial, you will learn how to call PostgreSQL stored procedures from a Python program.

Các bước để gọi một thủ tục được lưu trữ sau PostgreSQL trong Python

Để gọi một thủ tục được lưu trữ sau PostgreSQL trong chương trình Python, bạn làm theo các bước đó:

Đầu tiên, hãy tạo kết nối cơ sở dữ liệu mới đến máy chủ cơ sở dữ liệu PostgreSQL bằng cách gọi hàm ____1010:

conn = psycopg2.connect(dsn)

Code language: Python (python)

Phương thức

cur = conn.cursor()

Code language: Python (python)
0 trả về một thể hiện mới của lớp

cur = conn.cursor()

Code language: Python (python)
2.

Tiếp theo, tạo một con trỏ mới bằng cách gọi phương thức

cur = conn.cursor()

Code language: Python (python)
3 của đối tượng kết nối.

cur = conn.cursor()

Code language: Python (python)

Sau đó, chuyển tên của quy trình được lưu trữ và các giá trị đầu vào tùy chọn cho phương thức

cur = conn.cursor()

Code language: Python (python)
4 của đối tượng

cur = conn.cursor()

Code language: Python (python)
5. Ví dụ:

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)

Nếu bạn đã lưu trữ thủ tục không chấp nhận bất kỳ tham số nào, bạn có thể bỏ qua đối số thứ hai như sau:

cur.execute("CALL sp_name);")

Code language: Python (python)

Sau đó, hãy gọi phương thức

cur = conn.cursor()

Code language: Python (python)
6 để thực hiện giao dịch:

conn.commit();

Code language: Python (python)

Cuối cùng, hãy gọi phương thức

cur = conn.cursor()

Code language: Python (python)
7 của các đối tượng

cur = conn.cursor()

Code language: Python (python)
5 và

cur = conn.cursor()

Code language: Python (python)
2 để đóng kết nối với máy chủ cơ sở dữ liệu PostgreSQL.

cur.close() conn.close()

Code language: Python (python)

Gọi một ví dụ về thủ tục được lưu trữ

Đầu tiên, hãy tạo quy trình được lưu trữ

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
0 sau trong cơ sở dữ liệu

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
1.

CREATE OR REPLACE PROCEDURE add_new_part( new_part_name varchar, new_vendor_name varchar ) AS $$ DECLARE v_part_id INT; v_vendor_id INT; BEGIN -- insert into the parts table INSERT INTO parts(part_name) VALUES(new_part_name) RETURNING part_id INTO v_part_id; -- insert a new vendor INSERT INTO vendors(vendor_name) VALUES(new_vendor_name) RETURNING vendor_id INTO v_vendor_id; -- insert into vendor_parts INSERT INTO vendor_parts(part_id, vendor_id) VALUEs(v_part_id,v_vendor_id); END; $$ LANGUAGE PLPGSQL;

Code language: SQL (Structured Query Language) (sql)

Thứ hai, tạo một tệp mới có tên

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
2 và xác định hàm

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
3 sau. Hàm

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
3 gọi quy trình được lưu trữ

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
0 từ cơ sở dữ liệu

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
1:

#!/usr/bin/python import psycopg2 from config import config def add_part(part_name, vendor_name): conn = None try: # read database configuration params = config() # connect to the PostgreSQL database conn = psycopg2.connect(**params) # create a cursor object for execution cur = conn.cursor() # call a stored procedure cur.execute('CALL add_new_part(%s,%s)', (part_name, vendor_name)) # commit the transaction conn.commit() # close the cursor cur.close() except (Exception, psycopg2.DatabaseError) as error: print(error) finally: if conn is not None: conn.close() if __name__ == '__main__': add_part('OLED', 'LG')

Code language: Python (python)

Thực hiện tệp Python

Để thực hiện tệp Python, bạn sử dụng câu lệnh sau:

python stored_proc.py

Code language: CSS (css)

Để xác minh chèn, bạn có thể truy vấn dữ liệu từ bảng

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
7,

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
8 và

cur.execute("CALL sp_name(%s, %s);", (val1, val2))

Code language: Python (python)
9:

SELECT * FROM parts; SELECT * FROM vendors; SELECT * FROM vendor_parts;

Trong hướng dẫn này, bạn đã học từng bước làm thế nào để gọi một thủ tục được lưu trữ của PostgreSQL trong Python.

Hướng dẫn này có hữu ích không?

Làm cách nào để chạy một thủ tục được lưu trữ từ PostgreSQL từ Python?

Các bước để gọi chức năng PostgreSQL và thủ tục được lưu trữ từ Python..
Nhập PSYCOPG2. ....
Kết nối với PostgreSQL từ Python. ....
Nhận đối tượng con trỏ từ kết nối. ....
Thực hiện quy trình hoặc chức năng được lưu trữ. ....
Kết quả tìm nạp. ....
Đóng đối tượng đối tượng con trỏ và đối tượng cơ sở dữ liệu ..

Chúng ta có thể viết các thủ tục được lưu trữ trong PostgreSQL không?

PostgreSQL 11 đã giới thiệu các quy trình được lưu trữ hỗ trợ các giao dịch ...
Đầu tiên, chỉ định tên của quy trình được lưu trữ sau khi tạo từ khóa quy trình ..
Thứ hai, xác định các tham số cho thủ tục được lưu trữ.....
Thứ ba, chỉ định PLPGSQL là ngôn ngữ thủ tục cho thủ tục được lưu trữ ..

Làm cách nào để chạy một thủ tục được lưu trữ trong PostgreSQL?

Để thực hiện thủ tục trong PostgreSQL, hãy sử dụng câu lệnh CALL thay vì chọn câu lệnh.Đây là một trong những khác biệt giữa thủ tục và chức năng.Bạn cũng có thể chỉ định tên tham số trong câu lệnh CALL.Đây là một cách khác để thực hiện thủ tục.use the CALL statement instead of SELECT statement. This is one of the differences between PROCEDURE and FUNCTION. You can also specify parameter name in the CALL statement. This is another way to execute the PROCEDURE.

Làm thế nào để Python lưu trữ dữ liệu trong postgreSQL?

Python PostgreSQL chèn vào bảng cơ sở dữ liệu..
Cài đặt psycopg2 bằng PIP ..
Thứ hai, thiết lập kết nối cơ sở dữ liệu PostgreSQL trong Python ..
Tiếp theo, xác định truy vấn chèn.....
Thực hiện truy vấn chèn bằng con trỏ.....
Sau khi thực hiện thành công truy vấn, hãy thực hiện các thay đổi của bạn vào cơ sở dữ liệu ..