Desktop productivity for business analysts and programmers

Need help

Not applicable
Posts: 1

Need help


I am new to the SAS programming.

I need to insert a sas dataset into a SQL server table using a SAS program in the UNIX environment.

I can  create a  connection to the SQL server. Need the command to insert dataset to SQL server table.


Super User
Posts: 8,214

Re: Need help

Super User
Posts: 5,916

Re: Need help

If your connection that you have created is a libref, you can also use PROC APPEND.

Data never sleeps
Respected Advisor
Posts: 3,185

Re: Need help

After seeing other answers, I am now a bit confused about what you were asking for. I thought you asked how to insert(not sure what you mean by that though, suppose Art's answer will cover that) a SAS table into SQL server dataset. If that is the case,  it will be about SAS/ACCESS (depending on what license you have, it could be SQL server, ODBC or OLE DB driver, run proc setinit; to check it.). My suggestion will be:

1. Use either libname engine or other to assign a libref pointing to SQL server workspace, the detailed SAS statements will vary  a little depending on what kind of engine you are using, check SAS docs for more.  Then convert your SAS table into SQL server dataset. It could be as simple as the following:

   data SQL.want; /*SQL server dataset*/

      set SAS.have;/*SAS table*/


2. Then you can use whatever client apps native to SQL server to do the 'insert', or use SAS pass-through.


Posts: 29

Re: Need help

Hi Izmilman,

Inserting in relational database can be done using proc dbload.  SAS/ACCESS provides an interface to do this, provided your site should have the necessary licence to do this.

Hope this helps.

Like native sql server sql.  you don't need to create the structure, inserting separately.  SAS/ACCESS interface provides this functionality. you don't need to worry about defining the datatypes as per sql server.

Ask a Question
Discussion stats
  • 4 replies
  • 5 in conversation