Oracle数据提到文本文档进行查询的方法
创始人
2024-07-24 10:20:20
0

在数据库中我运行了以下的查询语句:
Select PLAN_ID, EL_ID, NIIN, ITEM_NAME, PROJECT_CD,
  CASE WHEN LCMC_DOC_NO IS NULL THEN MRODOC ELSE LCMC_DOC_NO END AS "DOCUMENT NUMBER"
  FROM EQLIST_VIEW
  WHERE PLAN_ID IN (736,1011)
  AND LCMC_DOC_NO IN ('W56HZV0327W501','W52H090313X006','W52H090314X026',
  'W52H090314X027','W52H090318X049','W52H090320X003','W56HZV0351M012',
  'W56HZV0351M032','W56HZV0351M035','W919AD0334L091','W919AD0334L092',
  'W919AD0352L025','W919AD0358L012','W919AD0358L017','W919AD0353L020',
  'W56HZV0350M001')
  ORDER BY NIIN, “DOCUMENT NUMBER”
  问题是这样的,现在有超过4000个DOC_NO,我想要抽取这些数据放到C盘上的一个文本文件当中。我试了好几种方法,但是系统一直出现第五行错误提示:“Syntax error near 'C'”

于是我重新写了一边查询:

Select PLAN_ID, EL_ID, NIIN, ITEM_NAME, PROJECT_CD,
  CASE WHEN LCMC_DOC_NO IS NULL THEN MRODOC ELSE LCMC_DOC_NO END AS "DOCUMENT NUMBER"
  FROM EQLIST_VIEW
  WHERE PLAN_ID IN (736,1011)
  AND LCMC_DOC_NO IN C:/Users/aj.moon/Desktop/TEMP/A5A_DOCNUM.TXT
能否提供一些好的建议?

  答:你并没有说你在使用哪一个版本的Oracle数据库,那么我就先假设为Oracle 9i。第一个问题是你不能直接使用文本文件,首先你要做的是让这些数据在数据库内可用。你可以使用SQL*Loader来加载数据或者创建一个外部的表。在这里我就简单介绍一下第二种方法。

  外部表可以允许Oracle查询存储在数据库之外的平面文件中的数据。SQL*Loader加载的格式化存储数据你都可以访问。针对外部表,你无法使用INSERT/UPDATE/DELETE操作,但是你可以在查询中使用它们。一旦你创建了外部表,你就可以在视图中使用它,并创建synonyms。通常情况下,使用外部表主要是为了进行ETL操作,它可以防止数据进入真实表。但是如果你打算频繁地查询外部表,就需要考虑将数据加载到真实表当中,因为外部表无法进行索引,性能将会受到比较大的影响。
 

【编辑推荐】

  1. Oracle数据库中管理表空间和数据文件
  2. 全面解析Oracle数据库中管理实例的方法
  3. Oracle数据库中为什么会产生回滚与前退

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...