Home
Manage Your Code
Snippet: Create Script for views, stored Procedures (SQL)
Title: Create Script for views, stored Procedures Language: SQL
Description: Create Script for views, stored Procedures Views: 380
Author: Andre Kombat Date Added: 1/25/2008
Copy Code  
DECLARE @DATABASE AS VARCHAR(20)
SET @DATABASE = 'Northwind' -- EX: AdventureWorks

DECLARE @WHATTOCREATE AS CHAR(1)
SET @WHATTOCREATE = 'P' -- EX: p = procedures, v = views

EXEC ('USE ' +@DATABASE)

PRINT 'USE [' + @DATABASE + ']' + CHAR(13) + 'GO' + CHAR(13)

DECLARE JOB_CURSOR CURSOR FOR
SELECT OBJECT_ID FROM SYS.OBJECTS WHERE [TYPE] IN (@WHATTOCREATE)
OPEN JOB_CURSOR
DECLARE @OBJECT_ID AS INT
FETCH NEXT FROM JOB_CURSOR
INTO @OBJECT_ID

DECLARE @SQL AS VARCHAR(MAX)

WHILE @@FETCH_STATUS = 0
BEGIN

SELECT @SQL = 'IF OBJECT_ID (''['+ S.NAME + '].['+ O.NAME + ']'') IS NOT NULL 
BEGIN
DROP '+
CASE O.TYPE 
WHEN 'P' THEN 'PROCEDURE ' 
WHEN 'V' THEN 'VIEW '
END + ' ['+ S.NAME + '].['+ O.NAME + ']
END
GO' + CHAR(13) + CHAR(13) +
+ M.DEFINITION + CHAR(13) + 'GO' + CHAR(13)
FROM SYS.OBJECTS O 
INNER JOIN SYS.SQL_MODULES M ON O.OBJECT_ID = M.OBJECT_ID 
INNER JOIN SYS.SCHEMAS S ON S.SCHEMA_ID = O.SCHEMA_ID
WHERE O.OBJECT_ID = @OBJECT_ID

PRINT @SQL

FETCH NEXT FROM JOB_CURSOR
INTO @OBJECT_ID
END

CLOSE JOB_CURSOR
DEALLOCATE JOB_CURSOR