Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8616805
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T05:42:28+00:00 2026-06-12T05:42:28+00:00

I have a MS Access database. I am required to process and update tables

  • 0

I have a MS Access database. I am required to process and update tables in this database with SAS. The tables can be very large. Some of the processing requires the use of pure SAS functions. With a SAS/ACCESS LIBREF to MS Access, you cannot update or alter tables with PROC SQL. Therefore, I see two approaches:

  1. Using LIBREF: Copy the entire table into SAS. Delete the original table in Access. Process the table in SAS. Write the table back to Access.
  2. Using PROC SQL passthrough: Read the rows I need into SAS. Process these rows using SAS. Update the rows in Access.

My question: is number 2 even possible? With SQL functions (rather than SAS), the process outlined in number 2 is many orders of magnitude faster than number 1. I understand that this difference comes from the data being processed entirely by the DBMS, but number 2 would still have to be faster, right?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T05:42:29+00:00Added an answer on June 12, 2026 at 5:42 am

    For future readers: I asked this question because SAS does not support a PROC SQL UPDATE statement on a MS Access library. To update an Access table, you must create a new table in the database and use a pass-through statement. My first instinct was to use an UPDATE statement assigning with a WHERE clause to update a subset of records. While I was researching this, I read some bad information that said Jet SQL did not support updating a subset of records. This is incorrect. Using an INNER JOIN, you are able to update a subset. Example code below:

    /* Access database is "C:/database.mdb".
       Original table in database is "original". 
       Processed table is "work.updates". */
    
    libname mdbfile "C:/database.mdb";
    
    proc sql;
    create table mdbfile.updates as select * from work.updates;
    connect to access (path="C:/database.mdb");
    execute (
      update original as a inner join updates as b on a.id = b.id
      set a.variable1 = b.variable1
      where condition = 1
    ) by access;
    execute (drop table updates) by access;
    disconnect from access;
    quit;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a .Net 4.0 WPF application that requires an embedded database. MS Access
I have an access database with these tables: - sequences: it describes the sequences
I have an Access database (in Access 2003) with several tables, and data must
I have an Access 2007 database and when I open it I can copy
I have a database-synchronisation task that takes some time to process, as there are
I have a class that uses linq to access the database. Some methods call
I have an Access database of 4M rows, each representing an individual customer order.
I have a Microsoft Access Database with an interface for usability ... But now,
I have an Access 2007 database that works asynchronously with a MAS200 database. Due
I have a Microsoft Access database and there is a macro there. How do

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.