22/01/2013, 06:02
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años Puntos: 2658 | |
Respuesta: Procedimeinto con variables que no se asignan Probablemente es una confusión entre un lenguaje de programación y el SQL. el SQL en general no diferencia mayusculas/minusculas en las variables. Sí lo hace en tablas, columnas, bases y otros objetos de BBDD, en el caso de que el servidor esté corriendo bajo Linux, por ejemplo (es decir, depende del S.O.).
En algunos casos pueden darse diferenciaciones cuando el valor se toma de un campo te tipo CHAR, VARCHAR o TEXT, si el mismo está definido para eso.
En cualquier caso, como te recomendé, no debes usar nunca los mismos nombres para variables que para columnas, tablas o bases, porque el SQL asume que el objeto en la consulta es en primer lugar una columna, luego una tabla, una base y sólo si ninguno de los invocados contiene ese nombre lo interpretará como variable.
O sea, al final.
Por otro lado, ten mucho cuidado con el uso de variables de sesión (las que comienzan con "@", porque esas variables no se declaran, no tienen tipo y no mueren al terminar el SP. Pertenecen al ámbito de la conexión.
Esto significa entre otras cosas que matienen su valor entre ejecuciones del SP que las use (con lo que pueden llevar y traer basusa si no se las incializa antes), y además que pueden prestarse a confusión si tienen el mismo nombre que otra variable local declarada en el SP.
Esto último significa que "@v_id" e "v_id", para MySQL son variables diferentes.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |