如何正确使用Sybase LOAD TABLE?

时间:2016-07-11 18:18:52

标签: sybase sqlanywhere sybase-asa

我一直在使用ISQL(SQLAnywhere 12)使用INPUT INTO将数据从CSV导入到现有表中,并且从未遇到过问题。今天我需要将数据导入到包含自动增量列的表中,但是,我认为我只需要将该列留空,所以我尝试使用只包含1行数据的文件(为了安全起见)。结果是在自动增量字段中输入0而不是下一个整数值。

Sybase documentation,我觉得我应该使用LOAD TABLE,但示例看起来有点复杂。

我的问题如下......

  • 文档说CSV文件需要在数据库服务器上而不是客户端上。我无法访问数据库服务器本身 - 我可以从ISQL中远程加载文件吗?
  • 如何定义我加载到的表格中的列?如果我只将数据加载到几列并将其余列保留为NULL,该怎么办?
  • 要确认,这会将现有数据保留在表中,只需使用CSV中的内容添加到其中吗?

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

  1. 是。查看LOAD TABLE的{​​{3}} - 您可以使用USING CLIENT FILE条款。

  2. 您可以在表名后面的parens中指定列名,即LOAD TABLE mytable (col1, col2, col3) USING CLIENT FILE 'mylocalfile.txt'。如果列可以为空,则此处未列出的任何列都将设置为NULL;如果不是,则将其设置为空字符串 - 这就是您的自动增量列设置为0的原因。您可以使用DEFAULTS ON得到你想要的东西。

  3. 是的,表格中的现有数据不受影响。