/****** 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