Variable de impresión de PostgreSQL

Shihab Sikder 20 junio 2023
  1. Use aviso de aumento para imprimir el valor de la variable en PostgreSQL
  2. Imprimir múltiples valores de variables en PostgreSQL
Variable de impresión de PostgreSQL

Antes de imprimir la variable, debemos declararla en la función o consulta de Postgres. Luego, podemos usar raise notice para imprimir el valor de esas variables.

Use aviso de aumento para imprimir el valor de la variable en PostgreSQL

Digamos que tenemos la siguiente tabla que contiene la información del producto.

postgres=# select * from product;
 product_id |           product_name           | entered_by | product_price | product_stock
------------+----------------------------------+------------+---------------+---------------
          1 | Mustard - Dijon                  |         10 |         57.44 |           155
          2 | Bacardi Limon                    |          6 |         51.68 |           395
          3 | Chicken - Leg, Fresh             |          6 |         57.88 |           130
          4 | Mcgillicuddy Vanilla Schnap      |          9 |         45.76 |           130

Esta tabla contiene cincuenta listas de productos. Ahora, digamos que queremos imprimir el precio promedio de los productos en una cadena formateada.

Entonces la consulta PL/SQL será:

do $$
declare
  average product.product_price%type;
  begin
    select avg(product_price)
    from product
    into average;

    raise notice 'Average price is %s', average;
  end; $$;

NOTICE:  Average price is 40.36s

Imprimir múltiples valores de variables en PostgreSQL

Supongamos que desea ver el precio promedio del producto y el stock total para cada ID. Por ejemplo, queremos imprimir como “ID 1 ingresó 400 productos y el precio promedio es 50”.

Aquí está el comando para hacer esto:

do $$
declare
  average product.product_price%type;
  stock product.product_stock%type;
  id product.entered_by%type;
  begin
    select avg(product_price),sum(product_stock),entered_by
    from product
    into average,stock,id
    WHERE entered_by=1
    GROUP BY ENTERED_BY;
    raise notice 'ID %s entered a total of % products, and the average price is %',id, stock, average;
  end; $$;

NOTICE:  ID 1s entered a total of 1111 products, and the average price is 41.75
DO
postgres=#

Entonces, así es como podemos imprimir múltiples variables desde la consulta de Postgres. Podemos utilizar este aviso de subida en funciones o dentro del DO.

También puede usar el bucle e imprimir cada fila si lo desea. Para saber más sobre la función de impresión de las variables, visita la documentación oficial desde aquí.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website