Я получаю ошибки, пытаясь запустить код SQL, предназначенный для определения значения employee_id - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь сделать оператор if для определения employee_id, но получаю ошибки каждый раз, когда запускаю программу.Вот расшифровка моего взаимодействия с базой данных:

`enter code here`SQL> SET SERVEROUT ON FORMAT TRUNCATED
`enter code here`SQL> DECLARE
 `enter code here` 2
  `enter code here`3  EMP_REC HR.EMPLOYEES%ROWTYPE;
  `enter code here`4  BEGIN
  `enter code here`5  DBMS_OUTPUT.PUT_LINE ('---------------------------------------');
  `enter code here`6  FOR EMP_REC
  `enter code here`7  (SELECT *
  `enter code here`8  FROM HR.EMPLOYEES
  `enter code here`9  WHERE EMPLOYEE_ID = 5)
 `enter code here`10  LOOP
 `enter code here`11  IF
 `enter code here`12  IF (EMP_REC.EMPLOYEE_ID = 5) THEN
 `enter code here`13  DBMS_OUTPUT.PUT_LINE ('EMPLOYEE_ID: ' || EMP_REC.EMPLOYEE_ID) ;
`enter code here` 14  DBMS_OUTPUT.PUT_LINE ('FIRST_NAME: ' || EMP_REC.FIRST_NAME) ;
`enter code here` 15  DBMS_OUTPUT.PUT_LINE ('LAST_NAME: ' || EMP_REC.LAST_NAME) ;
`enter code here` 16  DBMS_OUTPUT.PUT_LINE ('SALARY: ' || TO_CHAR (EMP_REC.SALARY, '$999,999'));
`enter code here` 17  DBMS_OUTPUT.PUT_LINE ('---------------------------------------');
`enter code here` 18  END LOOP;
 `enter code here`19  END IF;
 `enter code here`20  EXCEPTION
 `enter code here`21  WHEN NO_DATA_FOUND THEN
 `enter code here`22  DBMS_OUTPUT.PUT_LINE ('NO DATA FOUND.');
 `enter code here`23
 `enter code here`24  END;
 `enter code here`25  /

, и вот ошибки, о которых сообщается:

(SELECT *
*
ERROR at line 7:
ORA-06550: line 7, column 1:
PLS-00103: Encountered the symbol "(" when expecting one of the following:
in
The symbol "in" was substituted for "(" to continue.
ORA-06550: line 12, column 1:
PLS-00103: Encountered the symbol "IF" when expecting one of the following:
( - + case mod new not null <an identifier>
<a double-quoted delimited-identifier> <a bind variable>
continue avg count current exists max min prior sql
ORA-06550: line 18, column 5:
PLS-00103: Encountered the symbol "LOOP" when expecting one of the following:
if

Вы можете использовать это, чтобы определить отдел, в котором они работаюткак мы делали в прошлом с CASE.Вы можете использовать его, чтобы напечатать сообщение, если они зарабатывают определенную сумму денег.Может быть, они должны повысить, если они были наняты до определенной даты.

...