0
저는 SQL에 익숙하지 않아 pl/sql 변수에서 별칭을 사용하는 조인을 사용하는 방법을 이해할 수 없습니다. 이것은 내가 'l_name'선언해야 '와 "A". "l_name"잘못된 식별자로 오류를 받고 있어요 pl/sql에서 join을 사용하는 방법은 무엇입니까?
DECLARE
l_count PLS_INTEGER;
l_name EmpTable.Name%Type;
BEGIN
FOR l_row In (
Select *
From User_Tab_Columns
Where Table_Name = 'EmpTable')
Loop
l_name := l_row.Name;
Select Count(A.l_name)
INTO l_count
FROM EmpTable A
INNER JOIN CustTable B on A.id = B.emp_id;
DBMS_OUTPUT ("The number of employees who are also customers are " || l_count);
END LOOP;
END;
처럼 내 익명 블록 보이는 것과 비슷한 것입니다. 흐름이 내게 완벽 해. 내가 알아야 할 뉘앙스가 있니?
SQL 표현식의 일부로 l_name 변수를 삽입하는 방법이 있습니까? – BobLoblaw
부수적으로, pls_number보다 번호를 선택하는 이유는 무엇입니까? pls_integer가 더 효율적이고 일반적이라고 생각 했나요? – BobLoblaw
저는 지난 10 년 동안 항상 프로젝트에서 NUMBER를 사용했기 때문에 전환 할 이유가 없습니다. l_name을 삽입하려면 GROUP BY에이를 추가해야합니다. GROUP BY는 각 이름에 대한 카운트를 제공하므로 어레이로 정의되지 않았기 때문에 l_name에 삽입 할 수 없습니다. 구조체 주위에 항상 커서를 만들 수 있으며 한 번에 하나의 이름 만 지정할 수 있습니다. – cmutt78