繁体   English   中英

在Oracle中批量插入时表名称无效

[英]Invalid table name while bulk insert in oracle

我正在尝试使用Bulk Insert查询将值插入Oracle表,但出现以下错误

ORA-00903: invalid table name
00903. 00000 -  "invalid table name"
*Cause:    
*Action:
Error at Line: 4 Column: 5

这是我的查询

BULK INSERT TEST1.STUDENT
    FROM 'C:\Users\Alan\Desktop\STUDENT.txt'
        WITH
(
            FIELDTERMINATOR = '\t',
            ROWTERMINATOR = '\n'
);

为什么会出现此错误。 查询有问题吗? 请帮忙。 谢谢

更新

我按文件格式更改为CSV并写在下面的查询中

LOAD DATA
INFILE 'C:\Users\Alan\Desktop\STUDENT.csv'
INTO TABLE TEST1.STUDENT
FIELDS TERMINATED BY ","
(ID,
NAME);

但是上面的查询给出了

ORA-00928: missing SELECT keyword
00928. 00000 -  "missing SELECT keyword"
*Cause:    
*Action:
Error at Line: 16 Column: 2

上面的语法有什么问题?

这根本不是Oracle语法。 如果您需要将数据从文件加载到表中,请使用SQLoader外部表
有关外部表SQLoader的一些文档

如果您使用的是SQLDeveloper,则还可以使用导入工具。

也请看看该线程

[编辑}

LOAD DATA
INFILE 'C:\Users\Alan\Desktop\STUDENT.csv'
INTO TABLE TEST1.STUDENT
FIELDS TERMINATED BY ","
(ID,
NAME);

这不是查询。 这是控制文件的内容。 请将其保存到文件load.csv,然后运行cmd (如果在Linux上则为shell)并键入:

sqlldr user/pass control=load.ctl

您可以在此处找到一些示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM