可以在没有列列表的情况下使用 LOAD TABLE 吗?
Can LOAD TABLE be used without a column-list?
我习惯于使用 bcp 命令行工具使用 Sybase ASE 卸载和加载数据。这不需要您指定任何列名。
我知道在 Sybase IQ 中等效于 bcp 的是 LOAD TABLE 命令,但是如果不指定列名我就无法加载任何数据。
datafile.txt:
1,2,3,
1,2,3,
CREATE TABLE myTable (
fa integer null,
fb integer null,
fc integer null
)
LOAD TABLE myTable
FROM 'datafile.txt'
QUOTES OFF
ESCAPES OFF
以上会产生以下错误;
The LOAD statement's column count(0) must be between 1 and 0. Check the LOAD statement's 'load-specification'
我见过几个没有列列表的 LOAD TABLE 命令示例,但我无法让它工作。是否只能使用二进制文件?我也试过使用 FORMAT BCP,但没有成功。
列名是必须的,这似乎很疯狂。
在 IQ 上,LOAD 语句需要一个列列表。例如。来自 15.3 documentation:
The LOAD TABLE command must contain at least one column that needs to be loaded from the file specified in the LOAD TABLE command. Otherwise, an error is reported and the load is not performed.
我在 IQ 中使用 'load table' 的 perl 包装器(或用于 Sybase 的 bcp 或用于 Oracle 的 sqlldr)。如果文件匹配 table:
,则不需要列列表
#/usr/local/bin/perl
use DBIx::BulkUtil;
#...
my ($dbh,$dbu) = DBIx::BulkUtil->iq_connect(
Server => $server,
Database => $db,
User => $user,
Password => $pw,
);
$dbu->bcp_in('mytable', 'datafile.txt', {
Delimiter => ",",
});
我习惯于使用 bcp 命令行工具使用 Sybase ASE 卸载和加载数据。这不需要您指定任何列名。
我知道在 Sybase IQ 中等效于 bcp 的是 LOAD TABLE 命令,但是如果不指定列名我就无法加载任何数据。
datafile.txt:
1,2,3,
1,2,3,
CREATE TABLE myTable (
fa integer null,
fb integer null,
fc integer null
)
LOAD TABLE myTable
FROM 'datafile.txt'
QUOTES OFF
ESCAPES OFF
以上会产生以下错误;
The LOAD statement's column count(0) must be between 1 and 0. Check the LOAD statement's 'load-specification'
我见过几个没有列列表的 LOAD TABLE 命令示例,但我无法让它工作。是否只能使用二进制文件?我也试过使用 FORMAT BCP,但没有成功。
列名是必须的,这似乎很疯狂。
在 IQ 上,LOAD 语句需要一个列列表。例如。来自 15.3 documentation:
The LOAD TABLE command must contain at least one column that needs to be loaded from the file specified in the LOAD TABLE command. Otherwise, an error is reported and the load is not performed.
我在 IQ 中使用 'load table' 的 perl 包装器(或用于 Sybase 的 bcp 或用于 Oracle 的 sqlldr)。如果文件匹配 table:
,则不需要列列表#/usr/local/bin/perl
use DBIx::BulkUtil;
#...
my ($dbh,$dbu) = DBIx::BulkUtil->iq_connect(
Server => $server,
Database => $db,
User => $user,
Password => $pw,
);
$dbu->bcp_in('mytable', 'datafile.txt', {
Delimiter => ",",
});