【发布时间】:2015-04-30 07:43:19
【问题描述】:
我正在用 C 语言编写一个嵌入式 SQL 应用程序。 应用程序从函数接收字符串,我需要创建一个名称取自该字符串的表。 我必须创建几个不同名称的表,但我从一开始就不知道表的编号和名称。
这就是我想做的:
tablename = function();
...
EXEC SQL CREATE TABLE :tablename ( ... );
但是我收到了这个错误:
ERROR: syntax error at or near ":tablename"
【问题讨论】:
-
c中的EXEC SQL CREATE TABLE :到底是什么? -
先创建一个包含一段SQL的字符串,然后执行这段SQL。当心 SQL 注入,你可能会丢失一切......检查 PostgreSQL 中的 quote_ident() 函数。
标签: c postgresql embedded-database