Curso Completo Base de datos

procedimiento almacenado

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar todos
nuevos mensajes

  • procedimiento almacenado

    Hola, quiero realizar un procedimiento almacenado en donde me cuente los registros de varias tablas, pero todo en un mismo procedimiento (no se realizar procedimientos)

    Código:
    CREATE PROCEDURE [dbo].[Conteoalumnos]
        @Alumnos INT OUTPUT    --PARAMETRO DE RETORNO
    AS
    BEGIN
        SELECT @Alumnos (*) FROM Alumnos
    END
    
    CREATE PROCEDURE [dbo].[ConteoProfesores]
        @Profesores INT OUTPUT    --PARAMETRO DE RETORNO
    AS
    BEGIN
        SELECT @Profesores (*) FROM Profesores 
    END
    
    CREATE PROCEDURE [dbo].[ConteoSalas]
        @Salas INT OUTPUT    --PARAMETRO DE RETORNO
    AS
    BEGIN
        SELECT @Salas (*) FROM Salas 
    END
    entonces lo que necesito es tener varios parámetro de salida con sus respectivas select count para posterior obtener un resumen ej:

    Alumnos: 34
    Profesores : 23
    Salas: 12

    gracias

  • #2
    Re: procedimiento almacenado

    Hola larj, en lugar de hacer:
    Código:
    SELECT @Variable (*) FROM Tabla
    tenés que hacer:
    Código:
    SELECT @Variable = COUNT(*) FROM Tabla
    Entonces, todo en uno quedaría:
    [highlight=sql]
    CREATE PROC dbo.Counts
    @Alumnos INT OUT,
    @Profesores INT OUT,
    @Aulas INT OUT
    AS
    BEGIN
    SELECT @Alumnos = COUNT(*) FROM Alumnos;
    SELECT @Profesores=COUNT(*) FROM Profesores;
    SELECT @Aulas = COUNT(*) FROM Aulas;
    END
    go
    [/highlight]
    Luego, la llamada puede ser algo así:
    [highlight=sql]
    DECLARE @Alumnos INT;
    DECLARE @Profesores INT;
    DECLARE @Aulas INT;
    EXEC dbo.Counts @Alumnos out, @Profesores OUT, @Aulas OUT;
    PRINT 'Alumnos: ' + CONVERT(VARCHAR(10), @Alumnos);
    PRINT 'Profesores: ' + CONVERT(VARCHAR(10), @Profesores);
    PRINT 'Aulas: ' + CONVERT(VARCHAR(10), @Aulas);
    Go
    [/highlight]
    ¡Saludos cordiales desde Argentina!
    Última edición por javinet; 27-07-2014, 06:28 AM.
    Saludos.

    Comentario


    • #3
      Re: procedimiento almacenado

      Ok, gracias por tu respuesta, eso es justamente lo que necesitaba, ahora como podría estos resultados a visual studio? que me los muestre en unos label. Gracias.

      Comentario


      • #4
        Re: procedimiento almacenado

        ah, yo pensé que era para usarlo desde dentro del SQL Server®, entonces lo que deberíamos hacer es ir hacia el foro correspondiente a Visual Studio® .Net®: Visual Basic.NET - VB-MUNDO - Programacion Visual
        En caso contrario, si te referías al Visual Studio® 6.0, entonces deberías realizar la pregunta en Visual Basic 6.00 - VB-MUNDO - Programacion Visual
        Así podemos mantener ordenados los temas. Te paso el link para .Net, donde he respondido a tu pregunta: http://www.foro.vb-mundo.com/f25/res...-server-28007/
        Saludos.

        Comentario

        Trabajando...
        X