Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

cantidad de registros asiganar a una variable en sp

Estas en el tema de cantidad de registros asiganar a una variable en sp en el foro de Mysql en Foros del Web. hola quisiera saber como le asigno a una variable entera declarada dentro de un strored procedure la cantidad de registros de una determinada tabla...
  #1 (permalink)  
Antiguo 27/02/2013, 17:10
 
Fecha de Ingreso: noviembre-2012
Ubicación: santiago del estero
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
cantidad de registros asiganar a una variable en sp

hola quisiera saber como le asigno a una variable entera declarada dentro de un strored procedure la cantidad de registros de una determinada tabla
  #2 (permalink)  
Antiguo 27/02/2013, 17:25
 
Fecha de Ingreso: febrero-2013
Ubicación: DF
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: cantidad de registros asiganar a una variable en sp

declare variable int
select variable = count(*) from tabla

Esto es en SQL Server

declare @variable int
select @variable = count(*) from tabla
  #3 (permalink)  
Antiguo 27/02/2013, 17:45
Avatar de 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, 4 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)

Etiquetas: cantidad, registros, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:05.