home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Database / DBMaint / data1.cab / Program_Files / sp_checkident.sql < prev    next >
Encoding:
Text File  |  1999-04-06  |  1.3 KB  |  44 lines

  1. USE master
  2. GO
  3.  
  4. CREATE PROC sp_checkident AS
  5. /********************************************************************/
  6. /* Procedure to run DBCC CHECKIDENT for a database.                 */
  7. /* Copyright (c) Tibor Karaszi and B÷rje Carlsson 1999              */
  8. /* Tested on version 6.5 and 7.0.                                   */
  9. /********************************************************************/
  10. SET NOCOUNT ON
  11.  
  12. DECLARE @ver VARCHAR(5)
  13. SELECT @ver = CASE
  14. WHEN CHARINDEX('6.50', @@VERSION) > 0 THEN '6.50'
  15. WHEN CHARINDEX('7.00', @@VERSION) > 0 THEN '7.00'
  16. END 
  17. -- Remove below IF statement if you want to execute on 7.0
  18. IF @ver = '6.50'
  19. BEGIN
  20.  DECLARE tbl_names INSENSITIVE CURSOR FOR
  21.   SELECT OBJECT_NAME(sc.id)
  22.     FROM syscolumns sc, sysobjects so
  23.     WHERE sc.id = so.id 
  24.     AND convert(bit, sc.status & 0x0080) = 1
  25.     AND so.type IN ('U', 'S') 
  26.  
  27.  OPEN tbl_names 
  28.  DECLARE @tbl_name VARCHAR(30)
  29.  DECLARE @exec_str VARCHAR(255)
  30.  FETCH NEXT FROM tbl_names INTO @tbl_name
  31.  WHILE (@@fetch_status <> -1)
  32.    BEGIN
  33.       IF (@@fetch_status <> -2)
  34.         BEGIN          SELECT @exec_str = 'DBCC CHECKIDENT (''' + @tbl_name + ''') WITH NO_INFOMSGS'
  35.             PRINT @exec_str
  36.             EXEC( @exec_str)
  37.        END
  38.       FETCH NEXT FROM tbl_names INTO @tbl_name
  39.    END
  40.  DEALLOCATE tbl_names 
  41. END
  42. GO
  43.  
  44.