SQL中刪除某資料庫所有trigger及sp

2021-09-06 16:15:40 字數 2121 閱讀 9636

原文:

sql中刪除某資料庫所有trigger及sp

編寫人:

cc阿爸

2014-6-14

在日常sql

資料庫的操作中,如何快速的刪除所有

trigger及sp

呢 以下有三種方式可快速處理。

--第一種

--事務的處理方法

begin

transaction

begin

trydeclare

@sql

varchar

(max

)set

@sql=''

select

@sql

=@sql

+name

+','

from

sysobjects

where

xtype

='tr'

andname

<>

'dropdatabase'

ifisnull

(@sql,''

)!=''

begin

set@sql

='drop trigger '

+left(

@sql

,len

(@sql

)-1)

select

@sql

asaa

--exec(@sql)

endcommit

transaction

endtry

begin

catch

rollback

tran

endcatch

--第二種方法

--採用游標的方式

--declare cursorname cursor for select 'drop procedure  '+name from sys.objects where name like 'xx%' and xtype = 'p' --

刪除對應的儲存過程

declare

cursorname

cursor

forselect

'drop trigger'

+name

from

sys.

objects

where

name

like

'%'and

type

='tr'

--刪除對應的觸發器

open

cursorname

declare

@curname

sysname

fetch

next

from

cursorname

into

@curname

while

(@@fetch_status=0)

begin

--exec(@curname)

select

@curname

asaa

fetch

next

from

cursorname

into

@curname

end

close

cursorname

deallocate

cursorname

--第三種方法

--簡易辦法,查詢出來後,再在資料庫中執行

select

'drop trigger '

+name

from

sys.

objects

where

name

like

'%'and

type

='tr'

select

'drop procedure '

+name

from

sys.

objects

where

name

like

'%'and

type

='p'

刪除某資料庫下所有的表

刪除某資料庫下所有的表,謹慎執行。建議坐下資料庫備份後再執行。如果是新庫請隨意。執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行...

sql語句 刪除資料庫所有表裡的資料

declare name nvarchar 255 sql nvarchar 4000 declare task cursor cursor local for 游標定義 select name from sysobjects where type u 獲取當前資料庫中的所有表的表名 open ta...

python 刪除list中某所有元素

突然記起來一年前剛入行時,領導面試我時提的問題,刪除list中所有等於某個值的元素 比如 刪除 1,2,3,4,1,2,3,4,1,3,4 中所有的2元素 刪除元素常用 remove,pop 方法,remove可以直接刪除某個值 list.remove 1 但是每次只能刪除第乙個,且如果list中不...