TSQL Count Number Of Stored Procedures, Views, Tables or Functions

by Jon Hibbins on 4 September 2008
Filed under: Code, Database, MSSQL2005, MSSQL2008, Software Development, SQL Server, TSQL

You can use TSQL to Count Number Of Stored Procedures, Views, Tables or Functions in a Database by using the Database INFORMATION_SCHEMA view

/* Count Number Of Tables In A Database */
    SELECT COUNT(*) AS TABLE_COUNT FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_TYPE='BASE TABLE'
    /* Count Number Of Views In A Database */
    SELECT COUNT(*) AS VIEW_COUNT FROM INFORMATION_SCHEMA.VIEWS
    /* Count Number Of Stored Procedures In A Database */
    SELECT COUNT(*) AS PROCEDURE_COUNT FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'
    /* Count Number Of Functions In A Database */
    SELECT COUNT(*) AS FUNCTION_COUNT FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'FUNCTION'

The same methodology can be used to query for information :

/* Select Table Information For A Database */
    SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
    /* Select View Information For A Database */
    SELECT * FROM INFORMATION_SCHEMA.VIEWS
    /* Select Stored Procedure Information For A Database */
    SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'
    /* Select Function Information For A Database */
    SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'FUNCTION'

20 Responses to “TSQL Count Number Of Stored Procedures, Views, Tables or Functions”

  1. Kevin Youde Says:

    Brilliant ,just what I needed to know.

  2. Sanjeet Kunwar Says:

    Excellent

  3. rajesh singh Says:

    really nice work,

    rajesh singh

  4. Rohan Mehta Says:

    Great Job

  5. Sai Says:

    Nice and Thanks. Just what I wanted.

  6. Pavan Says:

    thnx man…….

  7. D.Mahesh Says:

    Great ,
    Thanks very Much

  8. Yusuf Says:

    It is indeed helpful!!!!

  9. Raju Says:

    Very Nice…

  10. leen Says:

    awesome !!!!!!!!!!!!!

  11. O.ver Says:

    This is helpful. Thanks!

  12. Hiren Says:

    Thanks dude

  13. John Says:

    Very helpful.
    Thanks Mate.

  14. Divya Sooraj Says:

    Brilliant Work……..Very helpful….Thanks alot………!!

  15. Jabran Says:

    Count of Procedures and Functions across all databases on the server

    Select name as databaseName, NULL as SPCount
    into #x
    from sys.databases where database_id > 4
    –drop table #x

    Declare @databaseName varchar(30), @Query nvarchar(max)

    While exists (select 1 from #x where Spcount is NULL)
    Begin
    Select top 1 @databaseName = databaseName from #x where SPCount is NULL
    Set @Query =

    Update #x
    Set Spcount = (SELECT count(*) FROM ‘ + @databaseName + ‘.INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE in(”PROCEDURE”, ”FUNCTION”))
    WHERE databaseName = ”’ + @databaseName + ””

    Print @Query
    exec sp_executesql @Query
    End

    Select * from #x

  16. Niranjan Says:

    Good Job!!!

  17. Karnatakapu Mallikarjun Says:

    Good one.

  18. Sun Says:

    Very useful Queries..

  19. Curtis Says:

    Thank you..very helpful

  20. shanmu Says:

    the most wanted statements in sql query……

Leave a Reply