create PROC P_Delete
AS
BEGIN
DECLARE @p_id INT
SELECT @p_id = id FROM node WITH(NOLOCK) WHERE tablename = 'source_1'
DELETE TOP(1000) depart WHERE id < @p_id
return @@ROWCOUNT
END
GO
WHILE(@@ROWCOUNT=1000)
EXECUTE P_Delete
print @@ROWCOUNT
存储过程要实现删除dept表里id小于node表中tablename为source_1的p_id的所有数据,循环执行存储过程直到删除完毕
我的代码在循环部分有问题,求各位指点
------解决方案--------------------
调用存储过程的循环,拿不到你存储过程里的@@ROWCOUNT,要用output参数返回