sql – 截断多表
发布时间:2020-05-27 23:06:35 所属栏目:MsSql 来源:互联网
导读:是否有可能使用一个SQL语句,多个表进行截断? 喜欢这个: truncate table #OBJ_AvailabilityTraining, #OBJ_AvailabilityHoliday, #Dates_temp; 问候 不,您只能使用TRUNCATE命令截断单个表.要截断多个表,您可以使用T-SQL,并通过表名重复一次截断每个表. DECLA
|
是否有可能使用一个SQL语句,多个表进行截断? 喜欢这个: truncate table #OBJ_AvailabilityTraining,#OBJ_AvailabilityHoliday,#Dates_temp; 问候 解决方法不,您只能使用TRUNCATE命令截断单个表.要截断多个表,您可以使用T-SQL,并通过表名重复一次截断每个表.DECLARE @delimiter CHAR(1),@tableList VARCHAR(MAX),@tableName VARCHAR(20),@currLen INT
SET @delimiter = ','
SET @tableList = 'table1,table2,table3'
WHILE LEN(@tableList) > 0
BEGIN
SELECT @currLen =
(
CASE charindex( @delimiter,@tableList )
WHEN 0 THEN len( @tableList )
ELSE ( charindex( @delimiter,@tableList ) -1 )
END
)
SELECT @tableName = SUBSTRING (@tableList,1,@currLen )
TRUNCATE TABLE @tableName
SELECT tableList =
(
CASE ( len( @tableList ) - @currLen )
WHEN 0 THEN ''
ELSE right( @tableList,len( @tableList ) - @currLen - 1 )
END
)
END
您可以将@tableList变量中的所有表名逗号分隔,并且可以从不同的模式截断多个表(如果它们是前缀). (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
