아래 코드 줄을 작성하여 PL/SQL Developer Tool에서 동일하게 실행했습니다.PL/SQL 프로그래밍 : 변수를 구별하기 위해 블록 레이블 사용
또한 Oracle 11g 데이터베이스에서 HR 스키마를 만들었습니다.
코드
CREATE TABLE employees2 AS SELECT last_name FROM employees;
<<MAIN>>
DECLARE
last_name VARCHAR2(10) := 'King';
my_last_name VARCHAR2(10) := 'King';
BEGIN
-- Deletes everyone, because both LAST_NAMEs refer to the column
DELETE FROM employees2 WHERE last_name = last_name;
dbms_output.put_line('Deleted ' || SQL%ROWCOUNT || ' rows.');
ROLLBACK;
-- OK, column and variable have different names
DELETE FROM employees2 WHERE last_name = my_last_name;
dbms_output.put_line('Deleted ' || SQL%ROWCOUNT || ' rows.');
ROLLBACK;
-- OK, block name specifies that 2nd LAST_NAME is a variable
DELETE FROM employees2 WHERE last_name = main.last_name;
dbms_output.put_line('Deleted ' || SQL%ROWCOUNT || ' rows.');
ROLLBACK;
END;
/
DROP TABLE employees2;
하지만
ORA-06550: line 4, column 0:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
* & = - + ; </> at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || multiset member submultiset
아래와 같은 오류가 발생합니다 첫 번째 선언 문을 실행하는 동안 나는 아주 새로운 오전 나를 인도 해주십시오 PL/SQL 및 현재 자체를 학습 .
당신이 라벨을 제거하고 그것을 실행 시도 해 봤나 :
주변의 유일한 작업은 다음과 같이 추가
begin
및end
블록을 추가하는 것 같다? – Rachcha