存储过程中@@ROWCOUNT
SQL的系统变量@@ROWCOUNT返回的是上一语句影响的行数。
WHILE(@@ROWCOUNT > 0)
BEGIN
IF(NOT EXISTS (SELECT T_TREE_ID FROM @AFFAIR_OPEN_TREE WHERE T_TREE_ID = @SEARCH_TREE_ID))
INSERT INTO @AFFAIR_OPEN_TREE (T_TREE_ID,T_P_TREE_ID,T_TREE_NAME) SELECT TREE_ID, P_TREE_ID, TREE_NAME
FROM T_GOVERNMENT_AFFAIR_OPEN_TREE
WHERE TREE_ID = @SEARCH_TREE_ID;
SELECT @SEARCH_TREE_ID = P_TREE_ID FROM T_GOVERNMENT_AFFAIR_OPEN_TREE
WHERE TREE_ID = @SEARCH_TREE_ID AND P_TREE_ID IS NOT NULL
END
这样的话能够持续的判断是否执行while里面的语句来,来实现类似递归的效果