En un semestre un alumno no puede tomar más de 21 créditos, por lo cual se me asigna hacer un procedimiento en el que se cuenten los créditos aún disponibles en este semestre consultando a un alumno por su rut. Para ello debo revisar los créditos de un alumno sumándolos (usando una función SUM()) y luego restar 21.
Todo esto lo desarrollé en el procedimiento que se ve más abajo.
Código MySQL:
Ver original
Si la suma de créditos inscritos es 0, entonces se devuelve 21, en caso contrario, se devuelve la resta entre 21 y la suma de créditos inscritos. Esto, lo resolví mediante la función IFNULL. ¿Porqué la usé? Porque si hago el SELECT a la variable var1 de la suma de créditos, me va a devolver en la línea de comandos un valor NULL cuando quiera consultar un alumno que no ha inscrito ramos (debería dar 21).
Mi duda es la siguiente: Aunque la función IFNULL funciona bien, estéticamente no se ve muy bien para la línea de comandos, la idea es que no me tire IFNULL(var1,21) con los créditos restantes sino que un nombre más adecuado. ¿Existe otra forma de realizar lo mismo que hace la función IFNULL sin tener que usar la función IFNULL? Se me ocurre usar una variable auxiliar y un IF pero las veces que lo he probado me han tirado errores al crear el procedimiento.
De antemano gracias.
Saludos.