Oracle 外部表限制

Oracle 外部表限制,oracle,sql-loader,external-tables,Oracle,Sql Loader,External Tables,现在我正在处理外部表。。。我喜欢它的灵活性。我想知道这些关于外桌的事情- 就像在SQL Loader中一样,我们可以将数据附加到表中。我们可以在外部表中这样做吗 在外部表中,我们不能创建索引,也不能执行DML操作。这是一种虚拟表,还是它在数据库中获取空间 此外,在SQL loader中,我们可以从外部表中的任何服务器访问数据,我们定义了默认目录。我们可以反过来在从任何服务器访问数据的外部表中执行同样的操作吗 外部表允许Oracle查询存储在数据库外部平面文件中的数据,就像该文件是Oracle表一

现在我正在处理外部表。。。我喜欢它的灵活性。我想知道这些关于外桌的事情-

  • 就像在SQL Loader中一样,我们可以将数据附加到表中。我们可以在外部表中这样做吗

  • 在外部表中,我们不能创建索引,也不能执行DML操作。这是一种虚拟表,还是它在数据库中获取空间

  • 此外,在SQL loader中,我们可以从外部表中的任何服务器访问数据,我们定义了默认目录。我们可以反过来在从任何服务器访问数据的外部表中执行同样的操作吗


  • 外部表允许Oracle查询存储在数据库外部平面文件中的数据,就像该文件是Oracle表一样

    ORACLE_LOADER驱动程序可用于访问存储在SQL*LOADER可以加载的任何格式中的任何数据。不能对外部表执行DML,但它们可以用于查询、联接和排序操作。可以针对外部表创建视图和同义词。它们在数据仓库的ETL过程中非常有用,因为数据不需要暂存,可以并行查询。它们不应用于频繁查询的表

    你问:

  • 就像在SQL Loader中一样,我们可以将数据附加到表中。我们可以在外部表中这样做吗
  • 在外部表中,我们不能创建索引,也不能执行DML操作。这是一种虚拟表,还是它在数据库中获取空间
  • 顾名思义,它位于数据库外部。您可以使用
    组织外部
    语法。目录是在操作系统级别创建的

  • 此外,在SQL loader中,我们可以从外部表中的任何服务器访问数据,我们定义了默认目录。我们可以反过来在从任何服务器访问数据的外部表中执行同样的操作吗
  • 这是错误的SQL*Loader是一个客户端工具,而外部表是一个服务器端工具。外部表可以加载可从数据库服务器访问的文件。无法从驻留在客户端上的文件加载外部表。您需要将文件保存到Oracle服务器可用的文件系统中

    在10g版本之前,外部表是只读的<无法执行strong>DML从Oracle Database 10g版本开始,外部表既可以写入也可以读取。


    从文档中,也可以阅读“同样在SQL loader中,我们可以从任何服务器访问数据”否。SQL*loader驻留在您的客户端上,而外部表驻留在服务器上。Ok@LalitKumarB。谢谢你的批改:)嗨@lalit kumar。如何在外部表中追加?syntax?@divya.trehan573您只需将
    插入..选择。。从外部表格…
    @divya.trehan573请将其标记为已回答,这也会帮助其他人!但是在sql加载器中,我们可以在加载器语句本身中实现这一点。。。。。因此,每当执行控制文件时,都会附加数据。。是否可能在外部表中是我的question@divya.trehan573你弄糊涂了。这很简单。外部表实际上不是一个数据库表,而是一个类似于表的Oracle格式的OS文件。创建外部表作为数据文件的副本,并对其使用直接SQL。完成后,它将是一个类似于表的临时结构,而不是一个静态数据库表。使用SQL*Loader,您可以直接将数据加载到静态数据库表中。从10g开始,外部表既可以写入也可以从中读取。因此,您不必担心追加行,只需继续加载即可。