Programimng

مطالبی از آموخته های من

Programimng

مطالبی از آموخته های من

۲ مطلب در دی ۱۳۹۲ ثبت شده است

با استفاده از این پروسیجر تمام ویو های خود را می توان پاک کرد .

(DECLARE @name VARCHAR(128

(DECLARE @SQL VARCHAR(254

([SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name

WHILE @name IS NOT NULL

BEGIN

   '[' +(SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name

   (EXEC (@SQL

    PRINT 'Dropped View: ' + @name

    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name])

END

GO

بعضی اوقات  که میخواهیم کل پروسیجرهامون رو از تو دیتابیس پاک کنیم ممکن است زمان بر باشه برای همین با استفاده از پروسیجر زیر به راحتی می توانیم این کار را انجام بدیم که تمام پروسیجرها را یک دفعه پاک میکند . فقط کافی هست پروسیجر زیر را در دیتابیسی که می خواهیم پروسیجرهاش پاک بشه بنویسیم و اجراش بکنیم . 

در قسمت database name نام دیتابیس مورد نظر را وارد می کنیم .

در قسمت proc name یک نام به این پروسیجر نوشته شده می دهیم و ذخیره می کنیم .

USE [database name]

GO

CREATE PROCEDURE [proc name]

AS 

DECLARE @name VARCHAR(128)

DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name])

WHILE @name is not null

BEGIN

    SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']'

    EXEC (@SQL)

    PRINT 'Dropped Procedure: ' + @name

    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name])

END

GO