gpt4 book ai didi

.net - PostgreSQL 相当于 SQL Server 的 TVP

转载 作者:行者123 更新时间:2023-11-29 12:43:55 24 4
gpt4 key购买 nike

SQL Server 具有表值参数,允许您将值数组作为参数传递。

实现类似于 PostgreSQL 查询的合适方法是什么,这样我就可以做类似的事情:

从 id 为 ($1) 的产品中选择 *

我正在使用 Npgsql .NET 库。

https://www.nuget.org/packages/Npgsql/3.0.5

最佳答案

在 PostgreSQL 中,您可以使用数组而不是像这样的 ID 列表:

... where id = any('{1, 2, 3}'::int[])

... where id = any(array[1, 2, 3])

这意味着 id 是数组的一项。

Read more about arrays operators and functions.

要从第三方语言将数组作为参数传递,您至少可以使用第一种变体:

... where id = any($1 ::int[])

其中 $1 是一个字符串参数,类似于 {1, 2, 3}。请注意,$1::int[] 之间有一个空格 - 对于某些客户来说可能是必需的。

不确定 C# 是否直接支持数组参数。

关于.net - PostgreSQL 相当于 SQL Server 的 TVP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35273060/

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