Sql Oracle数据库中的外部表
Sql Oracle数据库中的外部表,sql,oracle,oracle11g,oracle-sqldeveloper,Sql,Oracle,Oracle11g,Oracle Sqldeveloper,EMPDET是一个包含列EMPNO和ENAME的外部表。什么是oracle数据库中的外部表? 为什么我们可以/不能从外部表更新/删除 A. UPDATE empdet SET ename = 'Amit' WHERE empno = 1234; B. DELETE FROM empdet WHERE ename LIKE 'J%'; oracle数据库中的外部表是通过sql命令访问驻留在某些.txt或.csv文件中的数据的一种方式。因此,表数据不保存在数据库表空间中,而是顺序数据集上的某种视
EMPDET
是一个包含列EMPNO
和ENAME
的外部表。什么是oracle数据库中的外部表?
为什么我们可以/不能从外部表更新/删除
A. UPDATE empdet
SET ename = 'Amit'
WHERE empno = 1234;
B. DELETE FROM empdet
WHERE ename LIKE 'J%';
oracle数据库中的外部表是通过sql命令访问驻留在某些
.txt
或.csv
文件中的数据的一种方式。因此,表数据不保存在数据库表空间中,而是顺序数据集上的某种视图。因此,数据库无法索引或更新数据,因为它不在其作用域内,但只能对其进行选择。“外部表”表示您的文件系统中存储了一个(通常)CSV文件,Oracle读取由CREATE Table语句中的设置定义的此CSV文件。数据不保存在Oracle表空间中,但您可以像选择普通表一样选择它们。但是,您只能选择它们(或从逻辑上创建视图),但不能修改任何内容
下面是一个外部表的简单示例:
CREATE TABLE ADHOC_CSV_EXT (
C1 VARCHAR2(4000),
C2 VARCHAR2(4000),
C3 VARCHAR2(4000)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY SOME_FOLDER
ACCESS PARAMETERS (
records delimited BY newline
fields terminated BY ',' optionally enclosed BY '"'
missing field VALUES are NULL)
LOCATION ('foo.csv')
);
如果这是从字面上的测试,那么它是不道德的张贴在这里的问题。