我想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
.
环境: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)