ove*_*awn 4 postgresql types plpgsql variable-declaration
目前我以这种方式声明所有变量:
declare
x int;
y int;
z int;
begin
...
end
Run Code Online (Sandbox Code Playgroud)
是否可以在一行中声明x,y和z(具有相同类型),例如:
declare
x, y, z int;
begin
...
end
Run Code Online (Sandbox Code Playgroud)
到目前为止,我还没有在文档中找到任何提示......
没有这种语法快捷方式。
也没有必要,因为 plpgsql 并不意味着需要很多变量。过多的变量表明您在滥用 plpgsql 的性质,它最适合用作 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$
Run Code Online (Sandbox Code Playgroud)
如果您的问题是关于in one line(我不这么认为),您可以这样做,但每个问题都有其类型:
x int; y int; z int;
Run Code Online (Sandbox Code Playgroud)
或者您可以使用数组类型来保存任意数量的相同元素类型,或者一行或记录类型......
| 归档时间: |
|
| 查看次数: |
4425 次 |
| 最近记录: |