这应该是愚蠢的简单回答,但对于我的生活,我无法找到一个明确的答案。
你能用“吗?” 在 postgres 中,就像在其他数据库引擎中一样?
例如:
SELECT * FROM MyTable WHERE MyField = ?
我知道我可以为此使用 $n 语法,例如从 psql 这可以工作:
CREATE TABLE dummy (id SERIAL PRIMARY KEY, value INT);
PREPARE bar(int) AS INSERT INTO dummy (value) VALUES ($1);
EXECUTE bar(10);
SELECT * FROM DUMMY;
但是,如果我尝试使用“?”准备一个语句,例如。
PREPARE bar(int) AS INSERT INTO dummy (value) VALUES (?);
我得到:
错误:“)”处或附近的语法错误第 1 行:准备 bar(int)AS INSERT INTO dummy(值)VALUES(?);
...然而,在不同的地方我读到“postgres 支持 ? 语法”。
这里发生了什么?postgres 支持使用吗?而不是 1 美元、2 美元等。如果是这样,你如何使用它?
具体来说,将一堆现有的 sql server 查询移植到 postgres 让我的生活变得很痛苦,如果我可以避免重写所有 where 条件和所有 sql 语句,那将非常非常好。