Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 远程数据和批量操作 » 导入和导出数据 » 导入数据

 

使用 LOAD TABLE 语句导入数据

使用 LOAD TABLE 语句可将位于数据库服务器或客户端计算机上的数据以文本/ASCII 格式导入现有表中。

还可以使用 LOAD TABLE 语句从另一个表或从值的表达式(例如,从函数或系统过程结果)导入数据。

LOAD TABLE 语句将行添加到表中,但不替换它们。

使用 LOAD TABLE 语句(无 WITH ROW LOGGING 和 WITH CONTENT LOGGING 选项)装载数据比使用 INPUT 语句装载数据快得多。

使用 LOAD TABLE 语句装载数据,触发器不触发。

有关实例化视图的注意事项

对于快速视图,如果尝试将批量数据装载到基础表,将会返回错误。必须首先在视图中截断数据,然后再执行批量装载操作。

对于手动视图,可以将批量数据装载到基础表;但是,在下次刷新前,视图中的数据会一直为失效状态。

在尝试执行批量装载操作(例如,对表执行 LOAD TABLE)之前,请首先考虑在相关的实例化视图中截断数据。装载数据之后,请刷新视图。请参见TRUNCATE 语句REFRESH MATERIALIZED VIEW 语句

有关文本索引的注意事项

对于快速文本索引,在执行了批量装载操作(例如对基础表执行 LOAD TABLE)之后更新文本索引可能需要一些时间,即使自动执行更新也是如此。对于手动文本索引,即使是刷新也可能需要一些时间。

在执行批量装载操作(例如,对表执行 LOAD TABLE)之前,请考虑删除相关的文本索引。装载数据之后,重新创建文本索引。请参见DROP TEXT INDEX 语句CREATE TEXT INDEX 语句

数据库恢复和同步的注意事项

缺省情况下,从文件装载数据时(例如 LOAD TABLE table-name FROM filename;),在事务日志中仅记录 LOAD TABLE 语句,而不记录正在装载数据的实际行。如果原始装载文件已更改、移动或删除,这就会在使用事务日志尝试恢复数据库时带来问题。这还意味着参与同步或复制的数据库不会获得新数据。

为解决恢复和同步注意事项问题,有两个记录选项可用于 LOAD TABLE 语句:WITH ROW LOGGING 为已装载的所有行在事务日志中创建 INSERT 语句,而 WITH CONTENT LOGGING 将已装载的行组成块并将块记录在事务日志中。即使已装载数据的数据源不再可用,这些选项也允许重复进行装载操作。请参见LOAD TABLE 语句

数据库镜像的注意事项

如果数据库参与镜像,则请谨慎使用 LOAD TABLE 语句。例如,如果正从文件装载数据,则应考虑文件是否可用于在镜像服务器上装载,或者从中装载的数据源中的数据是否会在镜像数据库处理装载时发生更改。如果存在任何一个上述风险,请考虑指定 WITH ROW LOGGING 或 WITH CONTENT LOGGING 作为 LOAD TABLE 语句中的记录级别。这样,装载到镜像数据库的数据与在镜像数据库中装载的数据就是相同的。请参见LOAD TABLE 语句

另请参见