Here I am giving an example of Python function to insert a record in Oracle table using the cx_Oracle library.
Python Function Example To Insert A Record in Oracle Table Using CX_Oracle
In the following Python function insert_dept, it will take three parameters:
- Department number as n_dept
- Department Name as s_dname
- Location of Department as s_loc
Then it will insert the record using the cx_Oracle's cursor.execute procedure. The syntax of cursor.execute to add a row in Oracle table using parameters is:
cur.execute("insert into table_name (field1, field2,...) values (:1, :2, ...)", (parameter1, parameter2, ...))
The bind variables in the above statement (:1, :2) will refer to the values from the second parameter (parameter1, parameter2).
Function insert_dept
import cx_Oracle con = cx_Oracle.connect('scott/tiger@localhost/orcl') def insert_dept(n_dept, s_dname, s_loc): cur = con.cursor() cur.execute("insert into dept (deptno, dname, loc) values (:1, :2, :3)", (n_dept, s_dname, s_loc)) cur.close() con.commit() con.close() # call the insert_dept function try: insert_dept(99, 'testdept', 'testloc') except Exception as e: print(e)
Check the Oracle table for the inserted record.
SELECT * FROM dept WHERE deptno = 99;
Output
DEPTNO DNAME LOC ---------- -------------- ------------- 99 testdept testloc 1 row selected.
If you want to save the function in another Python file and want to call it from another, then follow the steps as below.
- Create a dept.py file as shown below:
import cx_Oracle con = cx_Oracle.connect('scott/tiger@localhost/orcl') def insert_dept(n_dept, s_dname, s_loc): cur = con.cursor() cur.execute("insert into dept (deptno, dname, loc) values (:1, :2, :3)", (n_dept, s_dname, s_loc)) cur.close() con.commit() con.close()
- Create another Python file such as call_insert_dept.py with the following code. The difference is, we need to import dept.py in our another Python file to call the insert_dept function.
import dept # call the insert_dept function try: dept.insert_dept(96, 'testdept', 'testloc') except Exception as e: print(e)