0
CREATE TABLE employees_temp AS SELECT employee_id, first_name, last_name FROM employees;
DECLARE
  emp_id employees_temp.employee_id%TYPE;
  emp_first_name employees_temp.first_name%TYPE;
  emp_last_name employees_temp.last_name%TYPE;
BEGIN
   INSERT INTO employees_temp VALUES(299, 'Bob', 'Henry');
   UPDATE employees_temp SET first_name = 'Robert' WHERE employee_id = 299;
   DELETE FROM employees_temp WHERE employee_id = 299 
     RETURNING first_name, last_name INTO emp_first_name, emp_last_name;
   COMMIT;
   DBMS_OUTPUT.PUT_LINE( emp_first_name  || ' ' || emp_last_name);
END;

So, this does not work at all, I have the same error [not properly ended][1] I've already deleted all extra spaces, but it still didn't work. I use online apex oracle for studying purposes.

Littlefoot
  • 131,892
  • 15
  • 35
  • 57
  • 3
    In Oracle you typically need to end a PL/SQL block with `/`. See e.g. [here](https://stackoverflow.com/a/10207695) –  Mar 19 '22 at 17:00
  • It wouldn't work here, @a_horse_with_no_name, as this seems to be Apex SQL Workshop. – Littlefoot Mar 19 '22 at 20:28

1 Answers1

2

It seems you're running it in Apex SQL Workshop (regarding screenshot you attached).

If that's so, then: you can't run that code as a script; SQL Workshop allows only one command at a time, so you have two options:

  • leave only CREATE TABLE statement and execute it; then delete it, paste PL/SQL block which will then be executed
  • or, select (you know, with a mouse, paint it blue) CREATE TABLE and run it; then select PL/SQL block and run it
Littlefoot
  • 131,892
  • 15
  • 35
  • 57