Sql Query进入Access数据库(.accdb)

时间:2014-05-13 17:24:24

标签: sas ms-access-2010

我现在正在使用它的工作,一个proc sql连接到我的数据库(访问.accdb)。到现在为止我只用它来做SELECT查询。这是一个有用的例子,我也是这样做的。

proc sql;
/* create an ODBC pass-through connection using the Microsoft Office Access 2007 .accdb    driver */
connect to ODBC as savesdb
    (required="driver=Microsoft Access Driver (*.mdb, *.accdb); dbq=&dir_BD.;");

 create table MYTABLE as select * from connection to savesdb(select MYID from ACCESSTABLE); 

/* close the pass-through connection */
disconnect from savesdb;
 quit;

现在我想执行INSERT INTO查询。我知道下一个代码正在运行

execute( INSERT INTO ACCESSTABLE ( MYID ) VALUES ( 1 )) by savesdb;

我想在INSERT INTO中指定插入数据集中的值。换句话说,我有一个包含4条记录的数据集,所以我想用数据集中的值将我的插入调用4次。

有没有办法这样做?

1 个答案:

答案 0 :(得分:0)

您需要做的就是在数据步骤中遍历DataSet并将列读取到宏变量..每列一个var。

然后使用这些宏变量调用proc sql代码作为宏定义的输入,宏定义将使用完全传递插入到DB中。

然而正如指出libref是更容易的方法。

谢谢, 和Manish