gpt4 book ai didi

sql - 多次使用相同参数的 format() 动态查询

转载 作者:搜寻专家 更新时间:2023-10-30 21:56:42 28 4
gpt4 key购买 nike

我有一个过程,它将表名的后缀作为输入。然后,使用 execute format(),我传递这个参数来执行动态查询。问题是这个参数自始至终都是一样的——我不想这样传递它 x 次:

execute format('SELECT table_%s.field1, table_%s.field2,table_%s.field3
FROM table_%s', inTableSuffix, inTableSuffix, inTableSuffix, inTableSuffix, ...)

我想要类似于以下的格式:

execute format('SELECT table_%s.field1, table_%s.field2,table_%s.field3
FROM table_%s', inTableSuffix)

我知道我可以使用表名的别名来解决这个问题,但是还有其他选择吗?

最佳答案

您可以像这样重复处理位置参数:


execute format('SELECT table_%1$s.field1
, table_%1$s.field2,table_%1$s.field3
FROM table_%1$s;', inTableSuffix);

注意:在这种特殊情况下,您可以通过使用别名来避免重复自己:


execute format('SELECT tx.field1
, tx.field2, tx.field3
FROM table_%s tx;', inTableSuffix);

关于sql - 多次使用相同参数的 format() 动态查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41651390/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com