我有一个下面提到的Oracle存储过程,它获取一个逗号分隔的字符串参数作为输入,通过一个循环将其拆分,并返回从拆分CSV中获得的ID的路径。我如何在SQL Server中创建一个工作方式相同的过程?
create or replace PROCEDURE FILE_LOOP(V_FID IN varchar2,
V_NAME OUT VARCHAR2) IS
BEGIN
FOR ITEM IN (SELECT V.PATHH||'\'|| V.NAME AS PATH
FROM FILES T INNER JOIN
Table2 V ON T.FOLID=V.ID
WHERE T.ID IN (SELECT TRIM(REGEXP_SUBSTR(V_FID,'[^,]+', 1, LEVEL))
FROM DUAL
CONNECT BY LEVEL <= 1+ REGEXP_COUNT(V_FID , ',')))
LOOP
v_name:=v_name||item.PATH;
END LOOP;
END;
字符串
请帮我写一个过程,使完全相同的输出在sql server?我是新的sql server。
2条答案
按热度按时间waxmsbnn1#
我想这就是你想要的:
字符串
f0ofjuux2#
将此过程从Oracle转换到SQL Server的一种方法是使用游标:
字符串
您可以通过以下方式执行该过程:
型
希望它能帮助