我正在编写一个需要与 postgres 数据库交互的 C++ 应用程序。我想使用 COPY 语句初始化表数据。
这是代码:
EXEC SQL BEGIN DECLARE SECTION ;
const char * fileData_name = file_data_name ;
EXEC SQL END DECLARE SECTION ;
EXEC SQL COPY datas
FROM :fileData_name
WITH (FORMAT text, DELIMITER '|') ;
这是来自 ecpg 的错误消息:
ERROR: syntax error at or near ":fileData_name"
根据 postgres文档: 这种在 SQL 语句中插入 C 变量的方式适用于 SQL 语句中需要值表达式的任何地方。
如果 COPY stuff FROM field,那么我的猜测是该字段不是值表达式。
有什么帮助吗?
谢谢 :-)