相关疑难解决方法(0)

将ResultSet传递给Postgresql函数

是否可以将postgres查询的结果作为输入传递给另一个函数?

作为一个非常人为的例子,说我有一个像

SELECT id, name
FROM users
LIMIT 50
Run Code Online (Sandbox Code Playgroud)

我想创建一个函数my_function,它接受第一个查询的结果集并返回最小的id.这可能在pl/pgsql中吗?

SELECT my_function(SELECT id, name FROM Users LIMIT 50); --returns 50
Run Code Online (Sandbox Code Playgroud)

sql postgresql plpgsql postgresql-9.2

9
推荐指数
3
解决办法
6297
查看次数

如何将多行传递给PostgreSQL函数?

我们如何传递一个(无限量)行数组(即常量表)作为PostgreSQL函数的参数/参数?

这是一个想法:

CREATE TYPE foo AS (
    x bigint,
    y smallint,
    z varchar(64)
);

CREATE OR REPLACE FUNCTION bar(bigint, foo[]) RETURNS TABLE(a bigint, x bigint, y smallint, z varchar(64)) AS
$$
    SELECT $1, x, y, z FROM unnest($2);
$$
LANGUAGE SQL;
Run Code Online (Sandbox Code Playgroud)

下面的函数调用有效,但有没有办法缩短它?

SELECT * FROM bar(1, ARRAY[(1,2,'body1'),(2,1,'body2')]::foo[]);
Run Code Online (Sandbox Code Playgroud)

例如,我们无法删除::foo[]强制转换,但是有没有办法重写事物以便我们可以省略它?

我们应该使用变量论证吗?

postgresql function variadic-functions

7
推荐指数
2
解决办法
2245
查看次数

使用 .NET 核心中的 dapper 批量插入 PostgreSQL

我是使用 Dapper 的新手,我只是不知道如何将 json 文件中的属性列表插入到我的 postgres 数据库中。

所以我们开始我的对象类:

public class UniqueIdField
{
    public string name { get; set; }
    public bool isSystemMaintained { get; set; }
}

public class SpatialReference
{
    public int wkid { get; set; }
    public int latestWkid { get; set; }
}

public class Field
{
    public string name { get; set; }
    public string type { get; set; }
    public string alias { get; set; }
    public string sqlType { get; set; }
    public int …
Run Code Online (Sandbox Code Playgroud)

c# postgresql dapper .net-core asp.net-core

5
推荐指数
1
解决办法
228
查看次数