【学习记录】Sql中存储过程的

存储过程中@@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里面的语句来,来实现类似递归的效果

原文地址:https://www.cnblogs.com/wenghaowen/p/2728139.html