How to delete records from ODBC database based on data in R

I have a data frame in R that has a list of records. I would like to delete all relevant records from my ODBC data source.

    data_to_delete ##This is my dataframe

    delete from RODBC datasource where record_id IN (select record_id 
                                                    from data_to_delete)

Any ideas on how to achieve this? I am currently using sqlQuery to push data down and sqlSave to create new records, but I'm not sure how to delete records.

+4
source share
1 answer

As the answer to this related question explains , you need to create a line containing the statement DELETEprogrammatically, and then you can execute DELETE, like any other statement in sqlQuery.

, DELETE "" R, , . , data_to_delete, paste as.character, , . .

, datasource , some_table_name . .

del_query <- sprintf("DELETE from some_table_name
                      where record_id IN (%s)",
                     paste(as.character(data_to_delete), 
                           collapse=", ")
             )

sqlQuery(datasource, del_query)

, , . , IN - - 2000 SQL Server.

, , , sqlQuery, IN ( SELECT * FROM ... ), , "" R.

+4

All Articles