PostgreSQLClientKit执行无返回多查询的简化写法问询
使用PostgreSQLClientKit批量执行无返回结果语句的简化方案
有两种更简洁的写法可以实现你的需求,避免重复创建Statement对象和冗余的执行步骤:
1. 合并SQL语句,单次预准备执行
把两条无返回结果的SQL语句用分号合并成一个字符串,一次性完成预准备和执行:
do { let setupStatement = try connection.prepareStatement(text: "LOAD 'age'; SET search_path = ag_catalog, '$user', public;") _ = try setupStatement.execute() // 无需关注返回的cursor,直接忽略 setupStatement.close() } catch { print(error) }
2. 直接调用connection.execute跳过预准备
如果不需要复用这个SQL语句,还能跳过显式的预准备步骤,直接用connection.execute方法执行:
do { try connection.execute("LOAD 'age'; SET search_path = ag_catalog, '$user', public;") } catch { print(error) }
注意事项
- 这种合并方式只适合无需关注返回结果的场景,因为返回的cursor只会对应最后一条语句的结果(如果存在)。
- 确保合并后的SQL语句语法正确,每条语句用分号分隔开。
内容的提问来源于stack exchange,提问作者Fahad Zaheer
相关产品推荐
相关产品推荐

