Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/03/2012, 04:33
Avatar de gnzsoloyo
gnzsoloyo
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: update q nose si es posible arroja error:Unknown column 'var_oden' in 'whe

Es que te falta un detalle: Dentro de un SP, las variables son locales y no llevan prefijos. Se declaran con tipo de dato y sólo existen durante el período de ejecución.
En cambio, fuera de un SP, sólo existen las variables de usuario, que tienen algunas características propias:
1) No se declaran.
2) No tienen tipo de dato.
3) Se identifican por usar el prefijo "@".
4) Su valor inicial es NULL.
5) Para ser usadas, primero deben ser inicializadas con un valor del mismo tipo con el que se usará.
6) Dependen del entorno de la conexión, por lo que mueren si se cierra la conexión, y dos conexiones pueden usar el mismo nombre de variable sin entrar en conflicto. Esto es válido aún si las conexiones son del mismo usuario.
7) Conservan su último valor durante todo el tiempo de existencia de la conexión, por lo que debe tener cuidado de reinicializarla cada vez que se la use.
8) Las variables de usuario existen fuera del entorno de un SP, pero pueden ser usados dentro de el, teniendo ciertas precauciones, pero a diferencia de las locales, siguen existiendo luego de terminar la ejecución del SP, aunque se creen dentro de el.

Ahora bien, en realidad tu problema en ese SP, es que que estás declarando "var_orden" y usando "var_oden", que no es el mismo nombre... le falta una "r".
Cita:
tengo una tabla varios que se compone de un campo id , otro fk y otro int llamado orden, cuando se elimina un registro necesito que todos los que tengan un orden mayor, se les reste 1 para reordenarlos y que no queden saltos en la secuencia de orden.
Disculpame, pero esto que planteas no sólo es una tarea sin utilidad, ni siquiera es necesaria, porque no se necesita hacer eso para obtener un numerado secuenciado de una consulta.
Además, ¿Qué utilidad tiene? Si lo único que necesitas es que el orden sea secuencialmente correcto.
¿Para qué quieres hacer ese numerado? ¿Para que quede bonito? Eso lo podrías hacer en la página y no hacer tareas antiperformantes en la base.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)