entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Incrementar un id utilizando MAX

Tengo una tabla en la cual utilizan un id para cada versión de una pagina por decirlo así, el problema es que me piden que vaya incrementando el id con respecto a esa versión por ejemplo que quedara version 10 usuario 1, 2, 3.
Lo cual no se como podría llevar a cabo en el procedimiento almacenado.


ALTER PROCEDURE sp_Inserta_Datos_LP                                 
    (
     @USUARIOCREACION   NVARCHAR(250),                          
     @USUARIOMODIFICACION   NVARCHAR(250),                          
     @IDUSUARIO INTEGER = 0,                            
     @NOMBRE_IMG NVARCHAR(250),                         
     @URL_IMGN VARCHAR(200),
     @URL_HREF VARCHAR(200),
     @PAIS VARCHAR(50),
     @ESTATUS INTEGER 
    )                   
AS                              
BEGIN                       
        insert into DASHBOARDLP                         
            (
                NUMB_ID_DASHBOARD,
                USUARIO_CREACION,
                FECHA_CREACION,
                NOMBRE_IMG,
                URL_IMG,
                URL_HREF,
                NUM_PRIORIDAD,
                NUMB_PRIORIDAD_USA,
                NUMB_PRIORIDAD_GT,
                ESTATUS, 
                FECHA_MODIFICACION,
                USUARIO_MODIFICACION,
                Id_Usuario,
                Pais
            )                       
        Values                          
            (
                (SELECT ISNULL((MAX(NUMB_ID_DASHBOARD)+1),1) FROM DASHBOARD),
                @USUARIOCREACION,
                getdate(),
                @NOMBRE_IMG,
                @URL_IMGN,
                @URL_HREF,
                (SELECT ISNULL((MAX(NUMB_ID_DASHBOARD)+1),1) FROM DASHBOARD),
                (SELECT ISNULL((MAX(NUMB_ID_DASHBOARD)+1),1) FROM DASHBOARD),
                (SELECT ISNULL((MAX(NUMB_ID_DASHBOARD)+1),1) FROM DASHBOARD),
                @ESTATUS,
                GETDATE(),
                @USUARIOMODIFICACION,
                (SELECT ISNULL((MAX(Id_Usuario)+1),1) FROM DASHBOARD),
                @PAIS
            );                      

    SELECT @@ROWCOUNT as afectadas                              
END

Pero ahora este ya no me sirve ya que incrementa el Id_Usuario con cada alta que se lleva a cabo.
Si me pueden ayudar ser los agradecería demasiado.

2votos

carlossevi comentado

Yo personalmente no entiendo lo que quieres decir con "el problema es que me piden que vaya incrementando el id con respecto a esa versión por ejemplo que quedara version 10 usuario 1, 2, 3.". Por favor, reformula el ejemplo porque no se entiende el requisito.

2votos

Alex_Numpaque comentado

Te sirve consultar cual es el ultimo id insertado respecto a la ultima versión y le incrementas uno para guardar un nuevo dato

2votos

AFRG1995 comentado

@Alex_Numpaque Lo había intentado de esa manera, pero la empresa vende sabanas y dependiendo de cada catalogo que se sube a la pagina oficial el usuario se va suscribiendo a la página y con ese Id_Usuario sabe cuanta gente se suscribe a dicha versión de catalogo.
por decirlo Fernanda y Natalia fue al catalogo 1 por lo tanto Id_Usuario = 1
Itzel, Eli catalogo 2 y el Id_Usuario = 2 y así consecutivamente.
No se si me di a entender.

2votos

Alex_Numpaque comentado

Tienes dos variantes al where de la consulta que te permitiran saber exactamente el valor del ultimo id, los cuales son :
la versión y el id del usuario o que mas variantes podrias tener para obtener el ultimo id??

0voto

AFRG1995 comentado

@Alex_Numpaque Solo tenia el de Id_Usuario, con la versión solo era como un ejemplo por decirlo así

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta