none
Ayuda con una Sentencia que me esta volviendo loco.... RRS feed

  • Pregunta

  • yo tengo 2 tablas; una que se llama PCLOG en la que voy llenando los usuarios que entran a mi aplicación y otra aparte que se llama CANTUSUARIOS que se actualiza cada vez que se agrega una linea nueva en la primera tabla llevando la cantidad de usuarios que tengo.

    quiero hacer algo asi: (ojala me pueda explicar bien)

       

    IF SELECT CANTUSUARIOS FROM cantusuarios > 10 THEN
    BEGIN
    TRUNCATE pclog;
    END
    ELSE
            BEGIN
    SELECT * FROM pclog;
            END
    END IF

    o sea que si la cantidad de usuarios pasa de 10 me borre todo los datos de la primera tabla.

    domingo, 27 de septiembre de 2020 19:10

Todas las respuestas

  • Hola Zeus

    Por lo que averigué aquí:

    https://www.sqlshack.com/working-with-sql-server-rowcount/

    tu consulta podría ser así:

    SELECT * FROM CANTUSUARIOS

    IF @@ROWCOUNT > 10 BEGIN

        TRUNCATE PCLOG

    END

    ELSE BEGIN

    SELECT * FROM PCLOG

    END

    Saludos

    Pablo


    domingo, 27 de septiembre de 2020 23:47
  • Hola Zeus Rodriguez:

    Lo que indicas, puedes hacerlo así:

    IF ((SELECT count(*) FROM cantusuarios) > 10) 
    BEGIN
    	TRUNCATE Table pclog;
    END
    ELSE
    BEGIN
    	SELECT * FROM pclog;
    END

    No existe truncate objeto, sino truncate table objeto.

    Si la tabla según indicas, se actualiza agregando una nueva linea a la tabla, tienes que utilizar la función count, para saber cuantas líneas tiene.

    • Propuesto como respuesta Alejandro 0991 martes, 29 de diciembre de 2020 20:23
    lunes, 28 de septiembre de 2020 3:44