¿Por qué los comentarios de estilo C hacen que la instrucción de inserción se ejecute dos veces?

Para resumir, comencé a recibir violaciones de la clave principal ORA-00001 y rastreé el problema hasta el hecho de que algunas de misINSERT INTO Las declaraciones se ejecutaban dos veces. Luego descubrí que los comandos ofensivos tenían un comentario de estilo C después:

WHENEVER SQLERROR EXIT FAILURE

SET ECHO OFF
SET HEADING OFF
SET PAGESIZE 0
SET FEEDBACK OFF
SET TIMING OFF
SET TIME OFF
SET TRIMSPOOL ON
SET TRIMOUT ON
SET LINESIZE 120

SET SQLBLANKLINES ON
SET SERVEROUTPUT ON

[...]

INSERT INTO INF_FIELD (FIELD_ID, CATEGORY_ID, COLUMN_EXPRESSION, DISPLAY_NAME, SORT_ORDER) VALUES (17, 1, 'FOO.NAME', 'Name of the foo', 17);

/*This is a comment*/

Luego se solucionó fácilmente al cambiar a esta sintaxis:

--This is a comment

¿Cuál es la razón exacta por la cual/*...*/ comentarios hicieron que SQL * Plus ejecutara la declaración dos veces?

Respuestas a la pregunta(1)

Su respuesta a la pregunta