Postgres Informe
Postgres Informe
Exposicion: POSTGRESQL
La Paz - Bolivia
2024
Cursores
1: Este cursor recorrerá los recursos (RECURSOS) asociados a un administrador específico y mostrará los
nombres de los recursos junto con el nombre del administrador.
DO $$ JOIN
DECLARE Administrador A
rec RECORD; ON
DO $$ UPDATE Recursos
DECLARE SET cantidad = cantidad + 5
cur_resources CURSOR FOR WHERE id = rec.id;
SELECT id, cantidad
FROM Recursos; RAISE NOTICE 'Recurso % actualizado,
nueva cantidad: %',
rec RECORD;
rec.id, rec.cantidad + 5;
BEGIN
ELSE
-- Abrir el cursor
RAISE NOTICE 'Recurso % no necesita
OPEN cur_resources; actualización, cantidad actual: %',
rec.id, rec.cantidad;
-- Recorrer los registros del cursor END IF;
LOOP END LOOP;
FETCH cur_resources INTO rec;
EXIT WHEN NOT FOUND; -- Cerrar el cursor
CLOSE cur_resources;
-- Verificar y actualizar la cantidad si es menor
a 10
END $$;
IF rec.cantidad < 10 THEN
VISTAS
1: Vista de Información Detallada de Beneficiarios del Programa de Apoyo Escolar con Datos de
Trabajadores Sociales y Duración del Programa Educativo
1: Procedimiento para Insertar un Nuevo Administrador en la Base de Datos y Visualizar los Registros de la
Tabla Administrador
); BEGIN
) $$;
app = Flask(__name__)
app.config['DEBUG'] = True # Activar el modo de depuración
if request.method == 'POST':
nombre_recurso = request.form['nombre_recurso']
cantidad = int(request.form['cantidad']) # Aseguramos que sea un entero
descripcion = request.form['descripcion']
codad = request.form['codad']
cursor.execute(
'UPDATE administrador SET nombre_recurso = %s, cantidad = %s,
descripcion = %s, codad = %s WHERE codrec = %s',
(nombre_recurso, cantidad, descripcion, codad, codrec)
)
connection.commit()
cursor.close()
connection.close()
return redirect(url_for('index'))
cursor.close()
connection.close()
return render_template('update_administrador.html', recurso=recurso)
if __name__ == "__main__":
app.run(debug=True)
connection = psycopg2.connect(
host=host,
database=database,
user=user,
password=password,
port=5432 # Si estás usando el puerto por defecto, ajústalo si es diferente
)