小编inn*_*ble的帖子

在 PL/pgSQL 匿名块中引用 psql 参数

我想PL/pgSQL通过psql命令行将参数传递给匿名块,然后在条件中检查该参数。

SQL 的相关部分在这里:

do $$
begin
    if (':para' = 1) then
        -- statements;
    end if;
end $$
;
Run Code Online (Sandbox Code Playgroud)

我这样称呼这个脚本:

psql -d dbname -v para=1 < script.sql
Run Code Online (Sandbox Code Playgroud)

我收到错误:

ERROR:  invalid input syntax for integer: ":para"
LINE 1: SELECT (':para' = 1)
            ^
QUERY:  SELECT (':para' = 1)
CONTEXT:  PL/pgSQL function inline_code_block line 3 at IF
Run Code Online (Sandbox Code Playgroud)

我尝试使用 case/when 范式,这也不起作用。

我猜psql参数与 PL/pgSQL 不兼容?最终,我的目标是,delete如果我1作为psql参数传递,则运行单个语句,如果传递0.

postgresql plpgsql psql

7
推荐指数
1
解决办法
2642
查看次数

使用jq处理数组中数组的JSON

环境:JQ 1.5,Windows 64位.

我有以下JSON:

{
  "unique": 1924,
  "coordinates": [
    {
      "time": "2015-01-25T00:00:01.683",
      "xyz": [
        {
          "z": 4,
          "y": 2,
          "x": 1,
          "id": 99
        },
        {
          "z": 9,
          "y": 9,
          "x": 8,
          "id": 100
        },
        {
          "z": 9,
          "y": 6,
          "x": 10,
          "id": 101
        }
      ]
    },
    {
      "time": "2015-01-25T00:00:02.790",
      "xyz": [
        {
          "z": 0,
          "y": 3,
          "x": 7,
          "id": 99
        },
        {
          "z": 4,
          "y": 6,
          "x": 2,
          "id": 100
        },
        {
          "z": 2,
          "y": 9,
          "x": 51,
          "id": 101 …
Run Code Online (Sandbox Code Playgroud)

json jq

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

标签 统计

jq ×1

json ×1

plpgsql ×1

postgresql ×1

psql ×1