store procedures y variables locales
Publicado por Damian (1 intervención) el 14/01/2011 19:47:51
Hola gente!! estoy aprediendo mtsql, agradezco cualquier posible ayuda!!
Estoy trabajando con Store Procedure y tengo el siguiente... la finalidad que tiene es dar de alta a una persona, ahora hay dos tipos de persona... una de ellas es cuando el atributo esgen es igual a 1 y cuanta con atributos especiales que los a otra tabla mediante el sp alta_gendarme... es un insert sencillo que anda bien....
mi sp no funciona cuando lo junto a todo... tengo una idea... de que tenga que ver con la funcion dameid(apellido) en la cual al pasarle el apellido me devuelve el id pero no se como hacerlo bien... xq si hago con un "select idpersona from persona where Apellido like concat ('%',nom,'%');" me trae el id pero no se como guardarlo en la varible... debe tener varios errores el store p.... gracias por la ayuda!!!
CREATE DEFINER=`root`@`localhost` PROCEDURE `alta_personaesp`(ape char(30),nom char(35),ce char(15),
dni char(8),ci_c char(15),fechanac date,estcivil char(10),iose char(15),
cign char(15),lugarnac char(50),domicilio char(60),espropie char(2),
localidad char(30),provi char(20),tel char(10),email char(50),vehiculo char(30),
dominio char(10),ubiactual char(35),iddenom int(10),in id1 int(10),in id2 int(10),
in carac1 char(25),in carac2 char(25),in esgen int(1))
BEGIN
declare aux int(10);
insert into persona(Apellido,Nombre,CE,DNI,CI_Credencial,Fecha_Nac,
Estado_Civil,IOSE,CIGN,Lugar_Nac,Domicilio,Es_Propietario,Localidad,Provincia,
Te,Email,Vehiculo,Dominio,Ubicacion_actual,iddenom) values(ape,nom,ce,dni,
ci_c,fechanac,estcivil,iose,cign,lugarnac,domicilio,espropie,localidad,provi,
tel,email,vehiculo,dominio,ubiactual,iddenom);
set aux = dameid(ape);
if esgen = 16 then call alta_gendarme(aux,carac1,carac2,id1,id2);
end if;
END;
Estoy trabajando con Store Procedure y tengo el siguiente... la finalidad que tiene es dar de alta a una persona, ahora hay dos tipos de persona... una de ellas es cuando el atributo esgen es igual a 1 y cuanta con atributos especiales que los a otra tabla mediante el sp alta_gendarme... es un insert sencillo que anda bien....
mi sp no funciona cuando lo junto a todo... tengo una idea... de que tenga que ver con la funcion dameid(apellido) en la cual al pasarle el apellido me devuelve el id pero no se como hacerlo bien... xq si hago con un "select idpersona from persona where Apellido like concat ('%',nom,'%');" me trae el id pero no se como guardarlo en la varible... debe tener varios errores el store p.... gracias por la ayuda!!!
CREATE DEFINER=`root`@`localhost` PROCEDURE `alta_personaesp`(ape char(30),nom char(35),ce char(15),
dni char(8),ci_c char(15),fechanac date,estcivil char(10),iose char(15),
cign char(15),lugarnac char(50),domicilio char(60),espropie char(2),
localidad char(30),provi char(20),tel char(10),email char(50),vehiculo char(30),
dominio char(10),ubiactual char(35),iddenom int(10),in id1 int(10),in id2 int(10),
in carac1 char(25),in carac2 char(25),in esgen int(1))
BEGIN
declare aux int(10);
insert into persona(Apellido,Nombre,CE,DNI,CI_Credencial,Fecha_Nac,
Estado_Civil,IOSE,CIGN,Lugar_Nac,Domicilio,Es_Propietario,Localidad,Provincia,
Te,Email,Vehiculo,Dominio,Ubicacion_actual,iddenom) values(ape,nom,ce,dni,
ci_c,fechanac,estcivil,iose,cign,lugarnac,domicilio,espropie,localidad,provi,
tel,email,vehiculo,dominio,ubiactual,iddenom);
set aux = dameid(ape);
if esgen = 16 then call alta_gendarme(aux,carac1,carac2,id1,id2);
end if;
END;
Valora esta pregunta


0