我正在尝试使用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
上述语法有什么问题?
答案 0 :(得分:3)
这根本不是Oracle语法。如果您需要从文件到表格加载数据,请使用SQLoader或External table
有关External table和SQLoader
如果您正在使用SQLDeveloper,还可以使用import facility。
请同时查看thread。
[EDIT}
LOAD DATA
INFILE 'C:\Users\Alan\Desktop\STUDENT.csv'
INTO TABLE TEST1.STUDENT
FIELDS TERMINATED BY ","
(ID,
NAME);
这不是查询。这是控制文件的内容。请将其保存到文件load.csv然后运行cmd
(如果在Linux上为yuo're,则运行shell)并输入:
sqlldr user/pass control=load.ctl
您可以找到here的一些示例。