Я создал следующую функцию, которая будет возвращать детали рабочего пространства, к которым имеет доступ авторизованный пользователь.
Но эта функция возвращает только первую запись из списка выбора.
Мне нужно, чтобы все записи отображались как выходные.
Пожалуйста, измените его и дайте мне знать.
CREATE OR REPLACE FUNCTION "F_WORKSPACE_LOGIN_USERS" (
p_email VARCHAR2
) RETURN VARCHAR2 IS
l_error VARCHAR2(1000);
l_workspace VARCHAR2(1000);
l_teams VARCHAR2(1000);
l_team VARCHAR2(1000);
BEGIN
FOR i IN ( SELECT a.name workspace,
a.team_id id
FROM slackdatawarehouse.teams a,
( SELECT TRIM(workspaces) workspaces
FROM alluser_workspaces_fact
WHERE lower(email) = lower(p_email)
) b
WHERE a.team_id IN ( SELECT c.team_id
FROM slackdatawarehouse.team_tokens c
)
OR instr(', '
|| lower(b.workspaces),', '
|| lower(a.name) ) > 0
ORDER BY 1 ) LOOP
l_teams := l_team
|| ','
|| i.id;
l_teams := ltrim(rtrim(l_teams,','),',');
RETURN l_teams;
END LOOP;
END;
Токовый выход:
T6HPQ5LF7, T6XBXVAA1, T905JLZ62, T7CN08JPQ, T9MV4732M, T5PGS72NA, T5A4YHMUH, TAAFTFS0P, T69BE9T2A, T85D2D8MT, T858U7SF4, T9D16DF5X, T9DHDV61G, T9D17RDT3, T5Y03HDQ8, T5F5QPRK7
Требуемый вывод:
T6HPQ5LF7
T6XBXVAA1
T905JLZ62
Мне нужен вывод, как указано выше, один за другим