带参数的SQL参数化查询而不是问号

时间:2016-03-02 01:33:22

标签: sql postgresql parameterized-query

问题:

对于参数化查询,有没有办法使用名称而不是问号?如果是这样,任何人都可以建议一些解释如何执行此操作/语法的材料吗?

更详细一点:

例如,如果我有类似的东西:

INSERT INTO inventory VALUES(?)

是否可能有类似这样的东西而不是与问号完全相同的东西:

INSERT INTO inventory VALUES("prices")

我在发布问题之前尝试检查它是否能够正常工作,但它无法正常工作。所以,我想我会问是否有可能。

我觉得如果你有一个非常长的查询,比方说20个参数,你不想计算问号,以确保每当你改变一些东西时你有足够的参数。另外,我认为这可能会使代码更具可读性(特别是如果你有很多参数需要跟踪)。

我对sql很新,所以如果我添加我使用的是postgresql,我不确定它是否会产生很大的影响(对于这个问题)。

注意:

有一个类似的问题here,但它没有一个有用的答案

1 个答案:

答案 0 :(得分:0)

我建议将大查询封装在function中,您可以在其中使用参数名称。 一个例子(在众多中):

您甚至可以设置默认值并使用命名参数调用该函数等: