Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

R Dataframe से Oracle डेटाबेस में कई पंक्तियाँ सम्मिलित करें

मान लें कि आर डेटाफ्रेम कॉलम बिल्कुल वही कॉलम हैं और ओरेकल में उसी क्रम में (अधिक या कम नहीं), लागू करें पर विचार करें करने के लिए चिपकाएं पतन . के साथ प्रत्येक पंक्ति में सभी मान:

sqls <- sprintf("INSERT INTO MYTABLE VALUES (%s)", 
                apply(df, 1, function(i) paste(i, collapse=",")))    
sqls
# [1] "INSERT INTO MYTABLE VALUES (2,10,9,50,34,37,29)" 
# [2] "INSERT INTO MYTABLE VALUES (7,24,33,21,21,20,3)" 
# [3] "INSERT INTO MYTABLE VALUES (39,38,2,33,43,33,7)" 
# [4] "INSERT INTO MYTABLE VALUES (30,11,33,1,29,26,11)"
# [5] "INSERT INTO MYTABLE VALUES (50,45,13,27,3,35,36)"
# [6] "INSERT INTO MYTABLE VALUES (41,5,39,17,5,22,5)"  
# [7] "INSERT INTO MYTABLE VALUES (21,50,39,30,2,11,49)"

# RECOMMENDED APPROACH TO SPECIFY COLUMNS
sqls <- sprintf("INSERT INTO MYTABLE (Col1, Col2, Col3, Col4, Col5, Col6, Col7) VALUES (%s)", 
                apply(df, 1, function(i) paste(i, collapse=",")))

connHandle <- odbcConnect("DBName", uid="user", pwd="password")
lapply(sqls, function(s) sqlQuery(connHandle, s))
close(connHandle)

और इससे भी बेहतर तरीका यह है कि RODBCext जहाँ आप बिना लूप के मूल डेटाफ़्रेम में पास होते हैं:

library(RODBCext)

connHandle <- odbcConnect("DBName", uid="user", pwd="password")
query <- "INSERT INTO MYTABLE (Col1, Col2, Col3, Col4, Col5, Col6, Col7) VALUES (?, ?, ?, ?, ?, ?, ?)"
sqlExecute(connHandle, query, df)

odbcClose(connHandle)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oracle को pdo से, SID और INSTANCE_NAME से कनेक्ट करें

  2. संग्रहित प्रक्रियाओं, कार्यों और ट्रिगर्स के साथ परिवर्तन लॉग उत्पन्न करने के लिए लिक्विबेस का विस्तार कैसे करें?

  3. अपने विभाग के औसत वेतन के साथ कर्मचारियों के वेतन को अद्यतन करने के लिए SQL

  4. एआरएम आधारित डेबियन डिवाइस के लिए ओरेकल इंस्टेंट क्लाइंट

  5. कर्सर का उपयोग करके विभाग के नाम प्रदर्शित करें। कर्सर का उपयोग करके विभाग तालिका से सभी विभाग के नाम प्रदर्शित करने के लिए पीएल/एसक्यूएल ब्लॉक बनाएं