sql >> Databasteknik >  >> RDS >> Oracle

Hur infogar jag en dataram i ett orakelbord som är olagligt/variabelt orakel

Du kan använda df2.values.tolist för att få en parameterlista, och en sådan kod som nedan för att infoga värdena inom dataramen:

import pandas as pd
import cx_Oracle
conn = cx_Oracle.connect('un/[email protected]:port/dbname')

try:
    cursor = conn.cursor()
    df2 = pd.DataFrame({'names':['Pepe','Luis'], 'stages': [0,1], 'order': [3, 2]}) 
    col_list = df2.values.tolist()

    cursor.prepare("INSERT INTO customer_prf(names,label,type,id,n_stage,ctry,\"order\") VALUES(:1,'references','text',seq_customer.nextval,:2,2,:3)")
    cursor.executemany(None,col_list)
    print("executed!")
except Exception as err:
    print('Error', err)
else:
    conn.commit()

var

  • föredrar att använda executemany istället för att execute som mer presterande

  • skapa en sekvens (seq_customer ) och lägg till i din värdelista(seq_customer.nextval ) som att använda DB version 11g, om din databas var av version 12c+, skulle ID-kolumnen kunna identifieras i skapa tabellen ddl-satsen (t.ex. under tabellskapandet ) såsom

    ID INT generated always as identity primary key




  1. Hämtar data från MYSQL baserat på veckonummer

  2. Få variabel MIN-datum baserat på markör i rad

  3. Implementera automatisk säkerhetskopiering och återställning av databas med standardmedel

  4. #1062 - Dubblett inmatning för nyckel 'PRIMÄR'