MySQL - problemas al llamar a 1 store procedure en mysql

 
Vista:

problemas al llamar a 1 store procedure en mysql

Publicado por Jose (8 intervenciones) el 15/02/2007 20:30:00
hola quiero hacer un calculo de retrazos de unas fechas en una tabla y quiero hacerlo con unstore procedure combinando cursores asi me muetre todos los retasos por que son por registro.
por ejemplo retrasos de un pedido de cada cliente.
la cuestion es qeu relizo el store pero al llmarlo me sle un error

ejemplo:
CREATE DEFINER=`root`@`localhost` PROCEDURE `contar`(out total int)
BEGIN
SELECT count(*) INTO total FROM agentes;
END

y lo llamo asi: CALL contar(@x);
select @x

y sale unerror o no me sale nada pero si ejecutas la consulta anda

no se si sera por no usar el delimitador, el cual no se bien donde va copie unejemplo pero sale error de sintaxis, agradeceria mucho si alguien me puede ayudar garcias
salu2
José
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problemas al llamar a 1 store procedure en mysq

Publicado por yo (8 intervenciones) el 15/02/2007 23:09:21
nota sale el error 1312, alguien me podria dar uneejmplo e como seria la solucion por favor desde ya muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas al llamar a 1 store procedure en mysq

Publicado por Jose (8 intervenciones) el 24/02/2007 16:51:17
ya lo solucione de todas formas gracias ahora el problema es como tomar un valor de un parametro de salida del store, no se como hacerlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

crear un procedure que inserte datos

Publicado por pamelas (1 intervención) el 17/09/2008 18:44:23
necesito ayuda en la construccion de un procedure para insert datos

create procedure xxx ( [ IN P1[ F, G ] ] )
BEGIN
INSERT INTO nombretabla( IN P1)
values (P1)

ASI ES .... QUE SIGNIFICA F y G , que pongo en esos dos campos .....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas al llamar a 1 store procedure en mysq

Publicado por Viridiana (1 intervención) el 30/06/2009 18:54:47
hola mi nombre es viridiana y necesito ayuda es que no se como resolver esto:
cree un procedure que es el siguiente:

delimiter //
create procedure alerta (param1 INT)
begin
select id,existencia from sales where existencia>15;
select id, existencia from sales where datediff(curdate(), Ultima_fecha)>90;
end//

delimiter ;
cuando lo mando a llamar, pero la verdad no se como llamarlo

call alerta @a(10);

select @a;

me podran ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas al llamar a 1 store procedure en mysq

Publicado por Marcelo (1 intervención) el 01/10/2009 21:11:17
Hola, de esta forma deberia funcionar CALL alerta(10), es decir, CALL <store_procedure> (<variable1>,<variable2>.....)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas al llamar a 1 store procedure en mysq

Publicado por jose (8 intervenciones) el 19/05/2010 18:05:55
hola viridiana mira ahite mando un scrip que hice para un sistema y et amndo como llamarlo en este caso lollamo desde phpy ahi te mando como tomar parametros de salida que me costo mmucho aprender solo y casi nadie me contestaba cuando pregunte jejej
tambien te mando el store

-- llamo al store
$insert_p = " CALL
sp_alta_de_socios( $tipo_de_cuenta, $id_barrio, $estado_civil, $id_localidad, '$nombre',
$nro_doc,'$fecha_nac','$sexo','$telefono','$celular','$email','$dir_calle','$dir_nro_calle',
'$dir_sector','$dir_manzana','$dir_piso', '$dir_dpto','$foto', '$observacion', @id_cuenta_corriente, @id_error)";


-- ejecuto y vuelco los parametros de salida
$r_insert = mysql_query($insert_p,$id_enlace);
//hago otra consulta para obtener el parametro desalida
$sql_id_user = mysql_query("select @id_cuenta_corriente,@id_error");

$res_usuario = mysql_fetch_array($sql_id_user);
$id_cta_cte = $res_usuario['@id_cuenta_corriente'];
$id_error = $res_usuario['@id_error'];

scrip del store
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_alta_de_socios`( par_tipo_de_cuenta integer(4), par_barrios_id INTEGER(4), par_estado_civil integer(10), par_localidad_id integer(10), par_apellido_y_nombre varchar(100),
par_documento integer(4), par_fecha_nacimiento varchar(10), par_sexo varchar(1), par_telefono varchar(20), par_celular varchar(20), par_email varchar(40), par_calle varchar(100), par_numero_calle varchar(4),
par_sector varchar(4), par_manzana varchar(4), par_piso varchar(4), par_dpto varchar(4),
par_foto varchar(255), par_observaciones text, OUT id_cuenta_corriente INTEGER(10), OUT par_error integer(10))
BEGIN

declare fecha_nacimiento date;
declare fecha_alta date;
declare var_id_socio integer(4);
declare var_nro_cuenta varchar(15);
declare mnemo_tipo_cuenta varchar(2);
declare var_id_producto_cuota_societaria int(11);

SET par_error = 0;

SELECT CAST(par_fecha_nacimiento AS date) INTO fecha_nacimiento;

SELECT cta.numero_cuenta INTO var_nro_cuenta
FROM tb_socios s
JOIN tb_cuentas_corrientes cta on s.id_socio = cta.tb_socios_id
WHERE s.documento = par_documento AND s.estado = 'A';
if var_nro_cuenta IS not null then

SET par_error = 1;

END if;

if par_error = 0 then

INSERT INTO tb_socios (tb_barrios_id, tb_localidad_id, tb_estado_civil_id, apellido_y_nombre,
documento, fecha_nacimiento, sexo, telefono, celular, email,
calle, numero_calle, sector, manzana, piso, dpto, foto,
estado, legajo, observaciones )
VALUES (par_barrios_id, par_localidad_id, par_estado_civil, par_apellido_y_nombre,
par_documento, fecha_nacimiento, par_sexo, par_telefono, par_celular, par_email,
par_calle, par_numero_calle, par_sector, par_manzana, par_piso, par_dpto, par_foto, 'A',
'', par_observaciones);

SET var_id_socio = last_insert_id();


if var_id_socio IS not null then

INSERT INTO tb_cuentas_corrientes (tb_tipo_cuenta_id, tb_socios_id, numero_cuenta, fecha_alta)
VALUES (par_tipo_de_cuenta, var_id_socio, '', curdate());

SELECT last_insert_id() INTO id_cuenta_corriente;


SELECT codigo INTO mnemo_tipo_cuenta FROM tb_tipos_de_cuentas WHERE id_tipo_cuenta = par_tipo_de_cuenta;
SELECT concat(mnemo_tipo_cuenta, '-', RIGHT(concat('000000', cast(id_cuenta_corriente AS char)), 6)) INTO var_nro_cuenta;
UPDATE tb_cuentas_corrientes SET numero_cuenta = var_nro_cuenta WHERE id_cuenta = id_cuenta_corriente;



UPDATE tb_socios SET legajo = concat_ws('-',mnemo_tipo_cuenta,par_documento,RIGHT(year(curdate()),2)) WHERE id_socio = var_id_socio;


SET var_id_producto_cuota_societaria = (SELECT id_producto FROM tb_productos WHERE tipo = 'cs');

INSERT INTO tb_productos_por_cuenta (tb_producto_id, tb_cuenta_corriente_id, fecha_subscripcion, estado)
VALUES (var_id_producto_cuota_societaria, id_cuenta_corriente, curdate(), 'A');
END if;
END if;

END

aqui te mando el store pára que veas cualquier cosa estoy para lo que discpongas un saludo grande jose
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas al llamar a 1 store procedure en mysq

Publicado por lilu (2 intervenciones) el 19/05/2010 16:01:26
HOLA SOLO KITALE EL INTO A TU INSTRUCCION Y LISTO :p
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas al llamar a 1 store procedure en mysq

Publicado por lilu (2 intervenciones) el 19/05/2010 16:01:40
HOLA SOLO KITALE EL INTO A TU INSTRUCCION Y LISTO :p
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas al llamar a 1 store procedure en mysq

Publicado por Miller Alfredo (1 intervención) el 04/06/2010 15:57:10
Llamalo de la siguiente manera call nombrecatalogo.contar(), donde no,bre catalogo es el nombre de la basesita donde esta el store procedure
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar