Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: haupter en 23 Marzo 2013, 16:53 pm



Título: Insert en Stored Procedure con un numero de parametros variable
Publicado por: haupter en 23 Marzo 2013, 16:53 pm
Hola que tal?

Soy nuevo aquí, y estaba buscando desesperado ayuda para un problema que me trae de cabeza desde hace varios dias.

Necesito poder hacer un insert (tambien select y delete, pero seria la misma logica) en un stored procedure de tal manera que si tengo dos tablas de distinta extension, "usuarios" y "grupos" por ejemplo, pueda llamar al mismo SP. Algo asi:

CALL insert (@nombreusuario,@fecha,@email)
CALL insert (@nombregrupo,@nivel)

Se podria usar el mismo SP ("insert")? La unica manera que se me ocurre es pasar un varchar, y dentro de este mandar todos los valores, con un separador. El problema que tengo es que ademas de que el varchar es muy pequeño, despues no se si podria colocarlo en el insert de la tabla correspondiente.

Alguien puede ayudarme? Muchas gracias de antemano


Título: Re: Insert en Stored Procedure con un numero de parametros variable
Publicado por: 1mpuls0 en 25 Marzo 2013, 17:36 pm
No te compliques la existencia lo mejor es crear procedimientos separados, dependiendo de tus necesidades o podrías crear uno por ejemplo.

CALL insertar_usuario(@nombre_usuario, @fecha, @email, @nombre_grupo, @nivel)

Dentro de tu procedimiento tendrías los insert correspondientes a cada tabla

...
INSERT INTO usuarios(nombre, fecha, email) VALUES(nombre_usuario, fecha, email);
INSERT INTO grupos(nombre, nivel) VALUES(nombre_grupo, nivel);
...

Saludos.