我想在我的 PL/pgSQL 代码中使用以下语法:
INSERT INTO table (table.column1, table.column2) VALUES (1, 2);
但不知何故,它不起作用。有谁知道这样的符号是被禁止的还是我做错了什么?
我想在我的 PL/pgSQL 代码中使用以下语法:
INSERT INTO table (table.column1, table.column2) VALUES (1, 2);
但不知何故,它不起作用。有谁知道这样的符号是被禁止的还是我做错了什么?
首先,如果您真的想
table
为您的表使用名称,那么您需要将其括在引号中:但假设您的表名不同(我强烈推荐),返回的错误表明解析器正在解释
my_table
为列名:这种解释是明智的,
column1
可能是复合类型,例如:您可能只需要 DrColossos 已经建议的以下内容:
table.column1
可能与模式查找混淆。它认为它需要寻找一个名为 table 的模式。请务必查看有关如何创建架构的文档。它说,那
这也没有语法意义,因为您已经知道您指的是哪个表。如果您需要查询架构,则可以编写它。