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.