Bloques DO en SQL
Un bloque PL/pgSQL anónimo: declarar, consultar y reportar, todo en línea.
-- DO runs an anonymous PL/pgSQL block once, right here.
DO $$
DECLARE
open_orders INTEGER;
BEGIN
SELECT COUNT(*)
INTO open_orders
FROM orders
WHERE status = 'pending';
RAISE NOTICE 'orders still open: %', open_orders;
END;
$$;
Cómo funciona
DO $$ ... $$;corre un bloque de una sola vez, sin función que limpiar después.DECLAREpresentaopen_ordersantes delBEGINdel bloque.SELECT ... INTOllena la variable yRAISE NOTICEla reporta.
Palabras clave y builtins usados aquí
BEGINCOUNTDECLAREDOENDFROMINTEGERINTOSELECTWHERE
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 227
- Tokens
- 34
- Ritmo de tres estrellas
- 70 tpm
Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 29 segundos.
Paso 1 de 4 en Bloques PL/pgSQL; paso 5 de 23 en Procedimientos almacenados de PostgreSQL.