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

problema con un procemiento almacenado

Estas en el tema de problema con un procemiento almacenado en el foro de SQL Server en Foros del Web. Buen dia a todos y espero que puedan ayudarme con esto, Código PHP: define ( "LIMITE" ,  6 );   define ( "TAM_VENTANA" ,  10 );   ...
  #1 (permalink)  
Antiguo 24/01/2008, 12:05
Avatar de viqtor  
Fecha de Ingreso: noviembre-2007
Ubicación: Donde estoy?
Mensajes: 49
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta problema con un procemiento almacenado

Buen dia a todos y espero que puedan ayudarme con esto,

Código PHP:
define("LIMITE"6);  
define("TAM_VENTANA"10);  

//CALCULO EL NUMERO DE REGISTROS  
$total 0;  
//PROCEDIMIENTO ALMACENADO QUE DETERMINA EL NUMERO DE REGISTROS  
//$sql_sel = mssql_init("$seleccion");   
$res_sel mssql_query($seleccion) ;  
$row mssql_fetch_array($res_sel);  
$total += mssql_num_rows($res_sel);  
//NUMERO TOTAL DE REGISTROS  
$numero_de_registros $total
Antes de esto hago un query ya filtrado con el numero de clientes de un vendedor y asi optengo el resultado del numero de registros y cuantos voy a presentar por pagina eso lo hace bien

y ya despues corro el procedimiento almacenado


Código PHP:
//LLAMAR AL SP QUE EXTRAE LOS DATOS PAGINADOS  
    
$sql_sel2 mssql_init("paginacion_clientes");  
    
//ENVIAR PARAMETROS AL SP  
    
mssql_bind($sql_sel2"@index"$paginaSQLINT2);  
    
mssql_bind($sql_sel2"@num_regs"$limiteSQLINT2);  
    
mssql_bind($sql_sel2"@vende"$vendedorSQLCHARFALSEFALSE,5); 
este es el procedimiento almacenado

Código:
Cita: 
CREATE PROCEDURE paginacion_clientes
--NUMERO DE PAGINA A MOSTRAR
@index int,
--TOTAL DE REGISTROS POR PAGINA
@num_regs int,
@vende char
AS


BEGIN

--ESTOS SERNA LOS INDICES PARA LA PAGINACION
DECLARE @maximo numeric
DECLARE @minimo numeric


SELECT @maximo = (@index * @num_regs)
SELECT @minimo = @maximo - (@num_regs - 1)

--CREACION DE LA TABLA TEMPORAL PARA LA PAGINACION
--NUM_ORDEN SERVIRA DE INDICE PARA EXTRAER LOS REGISTROS



--INSERTAR LOS DATOS A LA TABLA TEMPORAL DIRECTAMENTE DESDE EL SELECT
INSERT tmpListado SELECT cod_cte, razon_social, region, status_cliente, vendedor FROM clientes where (vendedor = '@vende') and (status_cliente = '1') ORDER BY cod_cte


SELECT cod_cte, razon_social, region, status_cliente
FROM tmpListado
WHERE num_orden BETWEEN @minimo AND @maximo

END



GO
Pero el problema es que no me imprime nada de nada
No inserta nada en la tabla, y la tabla ya esta creada


Código PHP:
while( $row_sel2 mssql_fetch_array($res_sel2) ) {  
        
var_dump($row_sel2); 
        echo 
$row_sel2['status_cliente']; 
NECESITO AYUDA ???

MUCAHAS GRACIAS
  #2 (permalink)  
Antiguo 24/01/2008, 12:31
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: problema con un procemiento almacenado

¿Ya probaste tu store MANUALMENTE?
  #3 (permalink)  
Antiguo 24/01/2008, 17:00
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: problema con un procemiento almacenado

El stored se ve bien, salvo que no estás creando la tabla, como lo dice uno de los comentarios.

Es todo lo que puedo ayudarte pues este no es foro de PHP
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 24/01/2008, 17:24
Avatar de viqtor  
Fecha de Ingreso: noviembre-2007
Ubicación: Donde estoy?
Mensajes: 49
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: problema con un procemiento almacenado

este es el precedimiento
me crea la pagina pero no inserta los datos ni nada, lo corro en el query analizer y ahi solo me muestra las cabeceras, pero ningun campo lleno


Cita:
alter PROCEDURE paginacion_x_cliente
--NUMERO DE PAGINA A MOSTRAR
@index int,
--TOTAL DE REGISTROS POR PAGINA
@num_regs int,
@vendedor char
AS


BEGIN

--ESTOS SERNA LOS INDICES PARA LA PAGINACION
DECLARE @maximo numeric
DECLARE @minimo numeric


SELECT @maximo = (@index * @num_regs)
SELECT @minimo = @maximo - (@num_regs - 1)

--CREACION DE LA TABLA TEMPORAL PARA LA PAGINACION
--NUM_ORDEN SERVIRA DE INDICE PARA EXTRAER LOS REGISTROS

CREATE TABLE ##tmpclientes(
num_orden int IDENTITY(1,1),
cod_cte char (10),
razon_social varchar (125),
region char(5),
vendedor char(5)
)

--INSERTAR LOS DATOS A LA TABLA TEMPORAL DIRECTAMENTE DESDE EL SELECT
INSERT INTO ##tmpclientes (cod_cte, razon_social, region, vendedor)
SELECT cod_Cte, razon_social, Region, vendedor
FROM clientes where (vendedor = @vendedor) and (status_cliente = '1') ORDER BY cod_cte
--UNA VEZ CARGADOS LOS DATOS LOS EXTRAEMOS
SELECT cod_cte, razon_social, region
FROM ##tmpclientes
WHERE num_orden BETWEEN @minimo AND @maximo


END
ESPERO SU AYUDA
  #5 (permalink)  
Antiguo 29/01/2008, 10:51
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: problema con un procemiento almacenado

Pues repito que la lógica de tu SP se ve bien. Seguramente tienes problemas con las clausulas WHERE que ocasionan que no se devuelva ningún registro.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 08:58.