When executing a script on SQLPlus, it prints a sequence of numbers instead of output
oracle, sqlplus
Solution
From your edited question... you have to terminate the PL/SQL block with a `/` on a new line to make it end and run, otherwise SQL*Plus will keep prompting for more lines of code (which is the numbers you're seeing). The documentation shows how to run PL/SQL blocks. And `prompt` is a SQL*Plus command so you can't use it inside a PL/SQL block. You also don't have your block syntax right:
SET serveroutput ON;
DECLARE
mode NUMBER(1) := 1;
BEGIN
IF mode = 1 THEN
DBMS_OUTPUT.PUT_LINE('HERE');
END IF;
END;
/
prompt fim
Problem
I'm trying to execute a script on SQL PLus, it's simple. ``` SET serveroutput ON; DECLARE mode NUMBER(1) := 1; IF (mode = 1) THEN prompt 'HERE' END IF; prompt 'fim' ``` I call the script from SQLPlus using `sqlplus user/pw@db` and `@myscript.sql` after a successful connection. But the output is strange for me: ``` Conectado a: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL> @myscript.sql 9 10 11 ``` And it continues to print this sequence indefinitely. What am I doing wrong?