SAS中文论坛

标题: 请教一个用sas数据集更新oracle表的问题 [打印本页]

作者: shiyiming    时间: 2005-1-20 11:10
标题: 请教一个用sas数据集更新oracle表的问题
我的sas通过客户端连到oracle数据库,在SAS中建立了一个oracle逻辑库,命名为oracle,现在我从一个外部文件读入了一些数据放到sas数据集(tt.text)中,在oracle数据库中存在一个表(st),表的列和数据集中的变量是一一对应的.我想用这个数据集直接更新oracle数据库中的表,应该怎么做呢?下面是我用的方法.
[code:3a75d]data oracle.st;

  modify oracle.st tt.text;

  by grade class number;

  /* 如果记录在主表中不存在,则添加该记录 */
  if %sysrc(_DSENMR) = _iorc_ then
     output;

  /* 如果记录在主表中存在,则替换该记录 */
  else if %sysrc(_SOK) eq _iorc_ then
    replace;

  _iorc_=0;
  _error_=0;

run;[/code:3a75d]

这种做法回报错说: 文件oracle.st是有序的,该任务要求随机读取观测,但引擎只允许顺序访问.sas系统由于错误终止了该步的执行.
请教各位是什么原因,有什么好办法啊,谢谢.




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2