0
我想写一个SQL过程砸桌子谁在他们的名字一定的模式。 喜欢的东西下面的代码:条件子句DROP TABLE
DECLARE @temp TABLE
(
ID bigint IDENTITY(1,1),
tabname sysname NOT NULL
)
INSERT INTO @temp
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%:%'
DECLARE @ProcessedID bigint = 0
DECLARE @tablename sysname
SELECT @ProcessedID = ID, @tablename = tabname FROM @temp WHERE ID > @ProcessedID ORDER BY ID DESC
WHILE(@ProcessedID IS NOT NULL)
BEGIN
DROP TABLE dbo.[@tablename]
SELECT @ProcessedID = ID, @tablename = tabname FROM @temp WHERE ID > @ProcessedID ORDER BY ID DESC
END
但@tablename不与右表名替换。任何人都可以指引我朝着正确的方向发展。
您当前的代码将进入一个无限循环,由于这样的事实,@ProcessedID永远不会为 – 2014-10-09 07:23:53
是的,这更是一个伪代码更好地解释这个问题。 – surega 2014-10-09 11:36:09