PostgreSQL-Druckvariable
- 
          
            Verwenden Sie raise notice, um den Variablenwert in PostgreSQL zu drucken
- Drucken Sie mehrere Variablenwerte in PostgreSQL
 
Bevor wir die Variable drucken, müssen wir sie in der Postgres-Funktion oder -Abfrage deklarieren. Dann können wir raise notice verwenden, um den Wert dieser Variablen auszudrucken.
Verwenden Sie raise notice, um den Variablenwert in PostgreSQL zu drucken
    
Nehmen wir an, wir haben die folgende Tabelle mit den Produktinformationen.
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
Diese Tabelle enthält fünfzig Produktlisten. Angenommen, wir möchten den Durchschnittspreis der Produkte in einer formatierten Zeichenfolge drucken.
Die PL/SQL-Abfrage lautet also:
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
Drucken Sie mehrere Variablenwerte in PostgreSQL
Angenommen, Sie möchten den durchschnittlichen Produktpreis und den Gesamtbestand für jede ID anzeigen. Zum Beispiel möchten wir wie folgt drucken: ID 1 hat 400 Produkte eingegeben, und der Durchschnittspreis beträgt 50.
Hier ist der Befehl dazu:
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=#
So können wir also mehrere Variablen aus der Postgres-Abfrage drucken. Wir können diese raise notice in Funktionen oder innerhalb des DO verwenden.
Sie können auch die Schleife verwenden und jede Zeile drucken, wenn Sie möchten. Um mehr über die Druckfunktion der Variablen zu erfahren, besuchen Sie die offizielle Dokumentation von hier.
