2016-07-06 7 views
0

どのようにOracleデータベースを使用してPythonで何度もテーブルを作成しないようにするには? CREATE TABLE関数を呼び出すたびに、クエリが実行され、テーブルが既に存在するためデータが挿入されません。OracleデータベースPythonを使用して

import cx_Oracle 
import time 

def Database(name,idd,contact): 

    try: 
     con = cx_Oracle.connect('arslanhaider/[email protected]:1521/XE') 

     cur = con.cursor() 
     cur.execute("CREATE TABLE Mazdoor(Name varchar(255),EmpID INT,ContactNo INT)") 
     cur.execute("INSERT INTO Mazdoor VALUES(:1, :2, :3)",(name,idd,contact)) 
     con.commit() 

     cur.execute("SELECT * FROM Mazdoor") 
     data = cur.fetchall() 

     for row in data: 
      print(row) 

    except cx_Oracle.Error: 
     if con: 
      con.rollback() 
    finally: 
     if con: 
      con.close() 

if__name__="__main__" 

while True: 
    n=input("Enter Name::") 
    i=input("Enter Idd::") 
    c=input("Enter Contact No::") 
    Database(n,i,c) 

    time.sleep(3) 

    print("Record Successfully Stored......\n\n") 

答えて

1

"明らかに、(K offに、K offに...)あなたが何をしているか知っている必要があります!"

あなたはテーブルが既にあなたのロジックは、少なくともこのような状況に対処するために、適切な複数try..except..finallyのブロックを使用して...準備する必要があり、その後、存在する可能性があることを事前に知って、CREATE TABLEにオラクルを依頼した場合。

表がすでに存在するためCREATE TABLE文が失敗した場合、あなたは例外がスローされることは非常に確認することができ、あなたは、関連するexcept句で、これは、確かに、である」と判断できる理由。"あなたは合理的にを選択すると、この可能性を無視し、「兵士」を無視することができます。

+0

Thnk u @MikeRobinson –

関連する問題