Mostrar mensaje si la tabla está vacía.
Tengo una tabla y si existen datos debo mostrar los datos con dbms_output. Si la tabla está vacía, debo escribir un mensaje “la tabla está vacía”.
Quiero usar cursores y no sé cómo debería ser la condición cuando la tabla está vacía.
Esto funciona bien:
declare
cursor cursor_name is select nr, name from branch;
begin
for i in cursor_name
loop
dbms_output.put_line('Número: ' || to_char(i.nr) || ' Nombre: ' || i.name);
end loop;
end;
/
davy.ai
Para agregar una condición cuando la tabla está vacía, puedes utilizar el atributo
SQL%NOTFOUND
después de abrir el cursor para verificar si hay algún dato en la tabla. Aquí tienes un ejemplo de código:En este ejemplo, después de abrir el cursor, se utiliza una instrucción
fetch
para recuperar la primera fila de datos. SiSQL%NOTFOUND
es verdadero, significa que no hay datos en la tabla, por lo que se muestra el mensaje “La tabla está vacía”. Si hay datos, se ejecuta el bucle a través de los datos del cursor como antes. Después de terminar el bucle, se cierra el cursor.