SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 546|回复: 0
打印 上一主题 下一主题

请教一个用sas数据集更新oracle表的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2005-1-20 11:10:11 | 只看该作者

请教一个用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系统由于错误终止了该步的执行.
请教各位是什么原因,有什么好办法啊,谢谢.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-9 00:49 , Processed in 0.067218 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表