Table Template

/****** Object:  TABLE #TBLNAME# ********************************/
-- File:
-- Script Date: #DATE#
-- Author: 
--
-- Description:
--
-- Change History:
/****************************************************************/
PRINT '----------- #TBLNAME# ----------'
GO

IF object_id(N'#TBLNAME#', 'U') IS NOT NULL
BEGIN
 PRINT '  DROPPING EXISTING CONSTRAINTS'

 DECLARE @X  [nvarchar] (255),
   @TBL [nvarchar] (255)
   
 SET  @TBL = '#TBLNAME#'
  
 DECLARE [cNames] CURSOR FOR
     SELECT [O].[Name]
     FROM  [SysConstraints] [S],
       [SysObjects] [O]
     WHERE  [S].[id] = object_id(@TBL)
     AND  [S].[constid] = [O].[id]
     AND  [O].[xtype] = 'D'
 FOR READ ONLY 

 OPEN [cNames] 

 FETCH   NEXT
 FROM    [cNames]
 INTO    @X

 WHILE @@FETCH_STATUS = 0
 BEGIN
  EXEC('ALTER TABLE [' + @TBL + '] DROP CONSTRAINT ' + @X)
  
  FETCH NEXT
  FROM [cNames]
  INTO @X
 END

 CLOSE  [cNames]
 DEALLOCATE [cNames]

 IF EXISTS
 ( SELECT [name]
  FROM [sysIndexes]
  WHERE [id] = object_id('#TBLNAME#')
  AND  [name] = 'PK_#TBLNAME#'
 )
 BEGIN
  PRINT '  DROPPING PRIMARY KEY'
  
  ALTER TABLE [#TBLNAME#]
   DROP CONSTRAINT [PK_#TBLNAME#]
 END
END

IF object_id(N'#TBLNAME#', 'U') IS NOT NULL
BEGIN
    PRINT '  UPDATING TABLE'
END
ELSE
BEGIN
    PRINT '  CREATING TABLE'
   
 CREATE TABLE [#TBLNAME#]
 (
  [ID] [integer] IDENTITY (1, 1),
 )

END
GO

IF object_id(N'#TBLNAME#', 'U') IS NOT NULL
BEGIN
 PRINT '  REBUILDING CONSTRAINTS'

 DECLARE @X  [nvarchar] (255),
   @TBL [nvarchar] (255)
   
 SET  @TBL = '#TBLNAME#'
  
 DECLARE [cNames] CURSOR FOR
     SELECT [O].[Name]
     FROM  [SysConstraints] [S],
       [SysObjects] [O]
     WHERE  [S].[id] = object_id(@TBL)
     AND  [S].[constid] = [O].[id]
     AND  [O].[xtype] = 'D'
 FOR READ ONLY 

 OPEN [cNames] 

 FETCH   NEXT
 FROM    [cNames]
 INTO    @X

 WHILE @@FETCH_STATUS = 0
 BEGIN
  EXEC('ALTER TABLE [' + @TBL + '] DROP CONSTRAINT ' + @X)
  
  FETCH NEXT
  FROM [cNames]
  INTO @X
 END

 CLOSE  [cNames]
 DEALLOCATE [cNames]
 
/* ALTER TABLE #TBLNAME# WITH CHECK ADD
  CONSTRAINT [DF_#TBLNAME#_]  DEFAULT () FOR []
*/
END
GO

IF NOT EXISTS
(
 SELECT *
 FROM [sysindexes]
 WHERE [id] = Object_ID(N'#TBLNAME#')
 AND  [name] LIKE 'PK_#TBLNAME#'
)
BEGIN
 PRINT '    REBUILDING PRIMARY KEY'

 ALTER TABLE [dbo].[#TBLNAME#] WITH CHECK ADD
  CONSTRAINT [PK_#TBLNAME#] PRIMARY KEY CLUSTERED
  (
   [ID] ASC
  )

 IF NOT EXISTS
 (
  SELECT [name]
  FROM [sysindexes]
     WHERE [id] = Object_ID(N'#TBLNAME#')
     AND  [name] LIKE 'PK_#TBLNAME#'
 )
 BEGIN
  PRINT '  ERROR: FAILED CREATING PRIMARY KEY PK_#TBLNAME#'
 END
END

IF object_id(N'#TBLNAME#', 'U') IS NOT NULL
BEGIN
 PRINT '  GRANTING RIGHTS'

 GRANT  REFERENCES,
   SELECT,
   INSERT,
   DELETE,
   UPDATE
 ON  [dbo].[#TBLNAME#]
 TO  [PUBLIC]
END
ELSE
BEGIN
 PRINT '  ERROR: FAILED CREATING TABLE #TBLNAME#'
END
GO