Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/02/2013, 17:45
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: 16 años, 5 meses
Puntos: 2658
Respuesta: cantidad de registros asiganar a una variable en sp

@c3985: No existe un T-SQL o PL/SQL estandarizado. cada DBMS hace con los lenguajes de procedimientos lo que quiere, y no son portables.

Trata de ajustarte a la estrictamente a la sintaxis que corresponde al DBMS del foro donde posteas. Lo que pusiste le dará error porque las variables en los SP de MySQL no se manejan de esa manea, ni se identifican de ese modo.

Respondiendo: La asignación de un valor X a una variable en MySQL tiene varias formas:

Código MySQL:
Ver original
  1. FROM tabla INTO variable;

Pero variable en un SP puede ser de tres formas diferentes:
1) Locales, donde se deben declarar, pero sin ponerle "@":
Código MySQL:
Ver original
  1. DECLARE variable INT;
  2.  
  3. FROM tabla INTO variable;
o bien:
Código MySQL:
Ver original
  1. BEGINDECLARE variable INT;
  2. SET variable = (SELECT COUNT(*) FROM tabla);

De parámetro:
debe ser parte de los parametros del SP, pero como OUT o INOUT:

Código MySQL:
Ver original
  1. CREATE PROCEDURE nnnnn(out variable INT)
  2. FROM tabla INTO variable;
De sesión o usuario:
Se identifican con "@", no se declaran sino que se inicializan, y existen y mantienen su valor fuera del SP y desaparecen mientras dura la sesión de usuario que las crea:

Código MySQL:
Ver original
  1. SET @variable = 0;
  2. FROM tabla INTO @variable;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)