gpt4 book ai didi

postgresql - 在plpgsql中声明多个相同类型的变量有什么捷径吗?

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

目前我以这种方式声明所有变量:

declare
x int;
y int;
z int;
begin
...
end

是否可以在一行中声明 xyz(它们具有相同的类型),如下所示:

declare
x, y, z int;
begin
...
end

我没有在 the documentation 中找到任何提示到目前为止...

最佳答案

没有这种语法捷径。

几乎不需要这个,因为 PL/pgSQL 并不意味着需要很多变量。过多的变量表示滥用语言,最好用作 SQL 语句的粘合剂。

要声明两个相同类型的变量,您可以显式声明第一个,然后使用 variable%TYPE 复制其余变量的类型。 .见:

DO
$func$
DECLARE
x int;
y x%TYPE;
z x%TYPE;
BEGIN
RAISE NOTICE 'type of x: %; type of y: %; type of z: %'
, pg_typeof(x), pg_typeof(y), pg_typeof(z);
END
$func$

如果你的问题是关于在一行中(我不这么认为),你可以这样做,但每个都有它的类型:

   x int; y int; z int;

或者您可以使用数组类型来保存任意数量的相同类型,或任意类型的行或记录类型......

关于postgresql - 在plpgsql中声明多个相同类型的变量有什么捷径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35156083/

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