原文:
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中不...