我可以在 PostgreSQL 的动态 SQL 查询中的不同位置使用相同的变量吗
Can I use the same variable in different positions in dynamic SQL query in PostgreSQL
我正在使用 PostgreSQL 创建复杂的动态查询。在我的查询中,我可以在查询的多个位置多次使用一个变量,为了简化事情,我想知道我是否可以这样做:
SELECT * FROM employees Where name = and id = and manager_id = ;
然后像这样执行查询:
EXECUTE format ('SELECT * FROM employees Where name = and id = and manager_id = ;') using (var_name, var_id);
参数是位置性的,因此 </code> 总是引用第一个参数,无论您在哪里引用它以及引用它的频率如何。</p>
<p>但是您必须<strong>不要</strong>将参数括在括号中,因为这会创建匿名记录。 <code>using (var_name, var_id)
传递一个 单个 参数(这是一个有两个字段的记录)。
所以你可以使用:
EXECUTE format('SELECT * FROM employees Where name = and id = and manager_id = ')
using var_name, var_id;
我正在使用 PostgreSQL 创建复杂的动态查询。在我的查询中,我可以在查询的多个位置多次使用一个变量,为了简化事情,我想知道我是否可以这样做:
SELECT * FROM employees Where name = and id = and manager_id = ;
然后像这样执行查询:
EXECUTE format ('SELECT * FROM employees Where name = and id = and manager_id = ;') using (var_name, var_id);
参数是位置性的,因此 </code> 总是引用第一个参数,无论您在哪里引用它以及引用它的频率如何。</p>
<p>但是您必须<strong>不要</strong>将参数括在括号中,因为这会创建匿名记录。 <code>using (var_name, var_id)
传递一个 单个 参数(这是一个有两个字段的记录)。
所以你可以使用:
EXECUTE format('SELECT * FROM employees Where name = and id = and manager_id = ')
using var_name, var_id;