SQL Server通過儲存過程實現批量刪除注意事項

這里設定傳過來的參數是拼接好的字符串,如:1,2,3,4,5 create procedure up_batchDeleteById ( @condition varchar(max) ) as delete from dt_name where id in(@condition) 以上的做法看似正確,實際會報錯,具體原因是說id是int類型的,而@condition是字

?
這里設定傳過來的參數是拼接好的字符串,如:1,2,3,4,5

create procedure up_batchDeleteById

(

??? @condition varchar(max)

)

as

delete from dt_name where id in(@condition)

以上的做法看似正確,實際會報錯,具體原因是說id是int類型的,而@condition是字符串類型,這樣無法刪除

正確做法:

create procedure up_batchDeleteById

(

??? @condition varchar(max)

)

as

declare @sql varchar(max)

set @sql=’delete from dt_name where id in (‘ + @condition + ‘)’

exec(@sql)

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享