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

Actualizar/insertar varios registros con valores distintos en un solo procedimiento

Estas en el tema de Actualizar/insertar varios registros con valores distintos en un solo procedimiento en el foro de SQL Server en Foros del Web. Muy buenas. He creado un procedimiento almacenado para calificar los ejercicios de los alumnos: Código PHP: CREATE PROCEDURE  "PA_FC_CalificaEjercicio" (     @ idAlumno int ,     @ idDocumento int , ...
  #1 (permalink)  
Antiguo 26/03/2008, 03:11
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 6 meses
Puntos: 4
Actualizar/insertar varios registros con valores distintos en un solo procedimiento

Muy buenas. He creado un procedimiento almacenado para calificar los ejercicios de los alumnos:

Código PHP:
CREATE PROCEDURE "PA_FC_CalificaEjercicio"
(
    @
idAlumno int,
    @
idDocumento int,
    @
nota int
)
AS
BEGIN
    
IF NOT EXISTS(SELECT FROM fc_relAlumnoEjercicio WHERE IDAlumno = @idalumno AND IDDocumento = @idDocumento)
        
INSERT INTO fc_relAlumnoEjercicio (IDAlumnoIDDocumentoNotaVALUES (@idAlumno, @idDocumento, @nota)
    ELSE
        
UPDATE fc_relAlumnoEjercicio SET Nota = @nota  WHERE IDAlumno = @idAlumno AND IDDocumento = @idDocumento
END 
Con él inserto una nueva calificación o bien la modifico pero he de llamar al procedimiento almacenado por cada ejercicio a calificar. Me gustaría poder calificar una lista de ejercicios con sus respectivas calificaciones en una sola llamada. Algo así:

@idsDocumento = "5,6,10,23,44"
@notas = "10,10,6,2,8"

¿Es posible?

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 26/03/2008, 08:16
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Actualizar/insertar varios registros con valores distintos en un solo procedimien

Puedes pasar la lista como un XML..

Passing lists to SQL Server with XML Parameters


Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 26/03/2008, 11:44
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: Actualizar/insertar varios registros con valores distintos en un solo procedimien

A parte de lo que recomienda Andres95

Seria conveniente que te leyeras este link:

http://www.sommarskog.se/arrays-in-sql-2000.html
  #4 (permalink)  
Antiguo 27/03/2008, 02:11
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 6 meses
Puntos: 4
Re: Actualizar/insertar varios registros con valores distintos en un solo procedimien

Bien, gracias a los dos. Veo que hay soluciones a gusto del consumidor. Ahora ya no sé dónde elegir .

Las estudiaré.

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 13:34.