일반적으로, 당신은 좋겠 존재와 그 기록에 있는데도 전혀 아무것도 인쇄되지 않습니다 : 내가 가진 코드는 다음과 같다 , 당신은 아니오, <<cursor_name>>%rowcount
을 확인해야 당신이 정말로 명시 적 커서를 사용하려면
DECLARE
l_count PLS_INTEGER;
BEGIN
SELECT COUNT(*)
INTO l_count
FROM employee
WHERE name = 'chuck'
AND rownum = 1;
IF(l_count = 1)
THEN
dbms_output.put_line('found');
ELSE
dbms_output.put_line('not found');
END IF;
END;
그런 짓을 t sql%rowcount
을 사용하여 가져온 행 수를 확인하십시오. 명시 적 커서를 사용하려면 커서를 닫아야합니다. 당신이 당신의 테이블 정의 또는 사용중인 데이터를 게시하지 않았기 때문에, 나는 예를
SQL> ed
Wrote file afiedt.buf
1 DECLARE
2 v_emp emp%ROWTYPE;
3 CURSOR c_emp IS
4 SELECT * FROM emp WHERE ename='SMITH';
5 BEGIN
6 OPEN c_emp;
7 FETCH c_emp INTO v_emp;
8 IF c_emp%ROWCOUNT=1 THEN
9 DBMS_OUTPUT.PUT_LINE('found');
10 ELSE
11 DBMS_OUTPUT.PUT_LINE(TO_CHAR('not found'));
12 END IF;
13 CLOSE c_emp;
14* END;
SQL>/
found
PL/SQL procedure successfully completed.
로 SCOTT
스키마에 EMP
테이블을 사용합니다 그리고 당신은, 당신이 무엇을 사용 방법에 상관없이 점에 유의하지 DBMS_OUTPUT
의 출력을 표시하려면 사용중인 도구에서 출력을 활성화해야합니다. SQL * Plus를 사용하는 경우 익명 PL/SQL 블록을 실행하기 전에
을 실행하기 전에 실행해야합니다.