Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL,在存储过程中存储多个变量_Sql_Postgresql_Stored Procedures_Postgresql 9.2 - Fatal编程技术网

PostgreSQL,在存储过程中存储多个变量

PostgreSQL,在存储过程中存储多个变量,sql,postgresql,stored-procedures,postgresql-9.2,Sql,Postgresql,Stored Procedures,Postgresql 9.2,如何将查询中的多个变量存储在存储过程中 对于一个变量,它可以很容易地完成,但是如果同一个查询有多个变量,该如何完成呢 declare num1 int; declare num2 int; select number1 into num1 from table_a where id = 1; -- This one is not correct select number1 into num1, number2 into num2 from table_a where id = 1; 有没有

如何将查询中的多个变量存储在存储过程中

对于一个变量,它可以很容易地完成,但是如果同一个查询有多个变量,该如何完成呢

declare num1 int;
declare num2 int;
select number1 into num1 from table_a where id = 1;

-- This one is not correct
select number1 into num1, number2 into num2 from table_a where id = 1;
有没有不使用
游标变量的简单方法

其中目标可以是记录变量、行变量或逗号分隔的简单变量列表

因此,它应该是:

select number1, number2 
   into num1, num2 
from table_a where id = 1;
或者,您可以使用记录变量:

declare result_rec record;
...

select number1, number2 
    into result_rec
from table_a where id = 1;

其中目标可以是记录变量、行变量或逗号分隔的简单变量列表

因此,它应该是:

select number1, number2 
   into num1, num2 
from table_a where id = 1;
或者,您可以使用记录变量:

declare result_rec record;
...

select number1, number2 
    into result_rec
from table_a where id = 1;

我更喜欢在这种情况下使用
record
变量。我更喜欢在这种情况下使用
record
变量。使用
record
,在SELECT*FROM table_a(id=1)循环中执行
结果记录看起来更好(IMHO)。。。结束循环
使用
记录
,在表a中的SELECT*中对结果_rec执行
看起来更好(IMHO),其中id=1循环。。。结束循环