使用 INPUT 语句可将不同文件格式的数据导入现有表或新表中。如果有数据库的 ODBC 驱动程序,可使用 USING 子句从不同类型的数据库和不同版本的 SQL Anywhere 数据库导入数据。
使用 INPUT 语句可以从 TEXT 和 FIXED 格式导入数据。要从其它文件格式导入数据,可以将 USING 子句和 ODBC 数据源一起使用。
可以使用缺省输入格式,或者为每个 INPUT 语句指定文件格式。因为 INPUT 语句是 Interactive SQL 命令,所以不能在任何复合语句(例如 IF 语句)或存储过程中使用 INPUT 语句。
如果要从文件或其它数据库导入数据,请使用 INPUT 语句。
有关详细信息,请参见INPUT 语句 [Interactive SQL]。
对于快速视图,如果尝试将批量数据装载到基础表,将会返回错误。必须首先在视图中截断数据,然后再执行批量装载操作。
对于手动视图,可以将批量数据装载到基础表。但是,视图中的数据会一直保持失效状态,直到下次刷新为止。
在尝试执行批量装载操作(例如,对表执行 INPUT)之前,请首先考虑在相关的实例化视图中截断数据。装载数据之后,请刷新视图。请参见TRUNCATE 语句和REFRESH MATERIALIZED VIEW 语句。
对于快速文本索引,在执行了批量装载操作(例如对基础表执行 INPUT)之后更新文本索引可能需要一些时间,即使自动执行更新也是如此。对于手动文本索引,即使是刷新也可能需要一些时间。
在执行批量装载操作(例如,对表执行 INPUT)之前,请首先考虑删除相关的文本索引。装载数据之后,重新创建文本索引。请参见DROP TEXT INDEX 语句和CREATE TEXT INDEX 语句。
使用 INPUT 语句时更改将记录在事务日志中。如果发生介质故障,则有详细的更改记录。但由于此方法将所有行都写入事务日志,所以使用此方法导入大量数据会对性能产生影响。
相比之下,LOAD TABLE 语句不会将每一行都保存在事务日志中,因此执行速度比 INPUT 语句快。但是就支持的数据库和文件格式而言,INPUT 语句更加灵活。
使用以下值(在一行中输入)创建并保存名为 new_employees.txt 的文本文件:
101,500,'Chan','Julia',100,'300 Royal Drive', 'Springfield','OR','USA','97015','6175553985', 'A','017239033',55700,'1984-09-29',,'1968-05-05', 1,1,0,'F' |
打开 Interactive SQL 并连接到 SQL Anywhere 11 Demo 数据库。
在 [SQL 语句] 窗格中输入 INPUT 语句。
INPUT INTO Employees FROM c:\new_employees.txt FORMAT TEXT; SELECT * FROM Employees; |
在本语句中,SQL Anywhere 11 Demo 数据库中目标表的名称为 Employees,new_employees.txt 是源文件的名称。
执行该语句。
如果导入成功,则 [消息] 选项卡显示导入数据花费的时间。如果导入不成功,则将显示一条消息指示导入不成功的原因。
在 Microsoft Excel 中打开电子表格。
在 Excel 中,选择要导入的单元格,然后选择 [插入] » [名称] » [定义]。
键入所选单元格的名称,如 myData。
单击 [确定]。
保存并关闭电子表格。
为电子表格创建 ODBC 数据源。
选择 [开始] » [程序] » [SQL Anywhere 11] » [ODBC 管理器]。
选择 [用户 DSN] 选项卡,为当前用户创建 DSN,或选择 [系统 DSN] 选项卡创建整个系统范围的 DSN。
单击 [添加]。
从驱动程序列表中,选择 Microsoft Excel Driver,然后单击 [完成]。
指定所需参数,单击 [确定],关闭该窗口并创建数据源。
例如,在 [数据源名] 字段中键入 myExcelFile。单击 [选择工作簿] 并浏览找到 Excel 电子表格文件。
单击 [确定] 保存 DSN。
打开 Interactive SQL 并连接到 SQL Anywhere 数据库。
执行以下 INPUT 语句,从 Excel 电子表格导入数据并将其保存到名为 t 的新表中:
INPUT USING 'dsn=myExcelFile;DSN=myExcelFile' FROM "myData" INTO "t" CREATE TABLE ON |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |