SQL 插入语句中的分号和单引号问题

Jåc*_*cob 6 oracle sqlplus oracle10g

我正在执行一个 SQL 脚本,该脚本在名为 prod_desc 的列中包含空格、分号、单引号、特殊字符等。我需要从 SQLPLUS 执行脚本。我在 SQLPLUS 中设置了以下内容,但不考虑单引号、分号。

set sqlblanklines on
Run Code Online (Sandbox Code Playgroud)

例如,请参见下面的插入语句,分号在换行符之后。这会在执行过程中导致错误。我该如何解决这个问题?

SET DEFINE OFF;
Insert into PROD_DESC
   (PROD_NO, PROD_DESC
    )
Values
   ('XYZ', 'test
semicolon test;
'
);
Run Code Online (Sandbox Code Playgroud)

表结构

CREATE TABLE prod_desc
(
   prod_no     VARCHAR2 (100),
   prod_desc   VARCHAR2 (1000)
);
Run Code Online (Sandbox Code Playgroud)

Gnq*_*nqz 3

用空格隔开分号:

SET DEF OFF;
Insert into PROD_DESC(PROD_NO, PROD_DESC)
Values('XYZ', 'test semicolon test\;');
Run Code Online (Sandbox Code Playgroud)