问题:
有没有办法在参数化查询中使用名称而不是问号?如果是这样,谁能推荐一些 Material 来解释如何执行此操作/语法?
更多细节:
例如,如果我有这样的东西:
INSERT INTO inventory VALUES(?)
是否有可能有这样的东西而不是做与问号完全相同的事情:
INSERT INTO inventory VALUES("prices")
在发布问题之前,我尝试自己检查它是否可行,但没有成功。所以,我想我会问这是否可能。
我觉得如果您有一个非常长的查询,假设有 20 个参数,您不希望每次更改某些内容时都必须计算问号以确保您有足够的参数。此外,我认为这可能会使代码更具可读性(尤其是当您有很多参数需要跟踪时)。
我是 sql 的新手,所以我不确定如果我添加我正在使用 postgresql 是否会有很大的不同(对于这个问题)。
注意:
有个类似的问题here , 但它没有一个有用的答案
最佳答案
我建议将大查询封装在 function 中,您可以在其中使用参数名称。 一个示例(众多示例中的一个):
您甚至可以设置默认值并使用命名参数调用函数等:
关于使用名称而不是问号的 SQL 参数化查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35736848/