我想知道如何从Excel中插入数据到Oracle的意义可以说,我有一个工作表中全部数据的,我想他们都插入到Oracle数据库。
我该怎么做?
在此先感谢。
我想知道如何从Excel中插入数据到Oracle的意义可以说,我有一个工作表中全部数据的,我想他们都插入到Oracle数据库。
我该怎么做?
在此先感谢。
您可以使用sql加载程序,但是如果您想要一个更强大的解决方案(特别是在数据将直接在电子表格中修改的情况下),请查看Oracle中的外部表。您可以直接在电子表格中建立一个数据库表,代码如下:
CREATE TABLE YOUR_SCHEMA.YOUR_TABLE
(
ACCT_NO VARCHAR2(15 BYTE),
PRODUCT_TYPE VARCHAR2(50 BYTE),
ORGINATION_DATE VARCHAR2(20 BYTE),
MATURITY_DATE VARCHAR2(20 BYTE),
FIXED_PERIOD_START_DATE VARCHAR2(30 BYTE),
FIXED_PERIOD_END_DATE VARCHAR2(30 BYTE),
ORIGINAL_LOAN_AMOUNT NUMBER,
CURRENT_BALANCE NUMBER
)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY YOUR_DIRECTORY
ACCESS PARAMETERS
(RECORDS DELIMITED BY NEWLINE
LOGFILE YOUR_DIRECTORY:'your_log.log'
BADFILE YOUR_DIRECTORY:'your_bad.bad'
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL)
LOCATION (YOUR_DIRECTORY:'your_file.csv')
)
需要注意的是“贵”在其字什么上面必须改变,以任何你希望把你的文件和目录。另外请注意,“YOUR_DIRECTORY”是一个实际的数据库对象必须创建:
CREATE OR REPLACE DIRECTORY YOUR_DIRECTORY AS 'C:\workspaces\test\XL2ExternalTables'
尝试在Excel中创建插入查询(如果数据不是很大):
像:
在AA1单元写 :'INSERT INTO <TABLE> VALUES('
然后,将在Excel中创建插入脚本,然后从不同的单元格(即'A1'''B1'''+')')
的相应值。只需复制脚本并执行即可。
这些是示例查询,请根据您对INSERT STATEMENT的要求编写自己的查询。
许多Oracle IDE都提供此功能。
的Oracle SQL Developer:
我会谈谈这些功能here。
转换您的Excel文件格式为.csv格式使用另存为与在d驱动.CTL扩展FOLDER_NAME文件夹下的文件如下内容选项
保存。在运行这个.ctl之前,请确保表格应该出现在您的架构中,并且不同的列名不在您的发布映像中。列名应与.ctl文件(sc_id, sal等)的名称匹配。并且您的列的数据类型应该与.csv文件中存在的数据匹配。还请确保您的table
应该是empty
,否则您应该在您的.ctl文件中使用truncate
或append
选项。
LOAD DATA
INFILE 'D:\folder_name\csvfile_name.CSV'
BADFILE 'D:\folder_name\csvfile_name.BAD'
DISCARDFILE 'D:\folder_name\csvfile_name.log'
logfile 'D:\folder_name\csvfile_name.DSC'
iNTO TABLE schema_name.table_name
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(
sc_id,
sal,
sc_cd1,
coll,
sc_cd2,
bill_mas,
sc_cd3,
wk_sal,
check_bill_month,
check_sale_wk
)
在SQL加上使用运行您.CTL文件如果在将数据加载到表中那些将记录到.log文件发生任何错误的命令之下
sqlldr schema_name/[email protected] control=your control file path.
。有关sqlloader的更多信息,请参阅http://docs.oracle.com/cd/B10501_01/server.920/a96652/ch05.htm
请参考答案。 https://community.oracle.com/thread/2166713?start=0
我只是在复制什么从上面的链接
Oracle SQL Developer中为我工作的方法去表 - >选择进口数据--->选择您的Excel或CSV文件 - >它将显示该列 - >将数据导入到表中。
我有一个查询, 我已经有一个表ABC,我从它删除了几行,但在此之前,我拿出了我在Excel表中删除的行的导出。 现在我需要将这些记录重新插入表格中。 由于记录数更多,我无法为所有人编写插入语句。 那么有什么办法,我可以使用Excel表格将数据导入到表格中。 谢谢, Abhishek
这不是一个答案 – Kalamarico
您正在使用哪个工具? – Buddi
Excel 2010和SQL * Plus – Iftekhar
然后使用sql loader将数据从excel表格加载到表格http://www.orafaq.com/wiki/SQL*Loader_FAQ – Buddi