好的,
我正在尝试使用RODBC在Teradata服务器上附加一个易失表。我编写的代码如下:
create_query = paste(
'CREATE VOLATILE TABLE',
volatile_name,
'(', dl_uid, ' VARCHAR(', char_width, '))',
'UNIQUE PRIMARY INDEX(', dl_uid, ')',
"ON COMMIT PRESERVE ROWS;"
)
RODBC::sqlQuery(
channel,
query = create_query
)
RODBC::sqlSave(
channel,
dat = df2,
tablename = volatile_name,
rownames = FALSE,
append = TRUE
)
这是我收到的错误消息:
RODBC :: sqlSave(channel = edv,dat = df2,tablename = volatile_name ,: 42S01 -3803 [Teradata] [ODBC Teradata 驱动程序] [Teradata数据库]表'edvR_4425'已存在。 [RODBC] 错误:无法SQLExecDirect'创建表“ edvR_4425”(“ id_num” varchar(255))'
当我选择参数append = TRUE
时,我发现这有点奇怪,这样它就知道要附加一个预先存在的表。我已经用一个永久表尝试过此代码,并且工作正常。有什么建议吗?