我有 Oracle DB 11g 企业版,我想从我的 java 代码执行 sql 脚本。我正在从 .sql 文件中读取这个 sql 脚本,该脚本包含诸如create table
, create type
, alter table
, drop type
, 之类的语句drop procedure
,insert into
以及带有begin
和end
以及所有此类构造的pl/sql 块。
我的问题是,如何将单独的 sql 语句从 java 代码中分离出来执行?在 MS SQL 中,我可以简单地按GO
关键字分隔这些 sql 语句,而在 Oracle db 中没有这样的分隔符。那么通常什么在 Oracle db 脚本中用作分隔符?
例如,我在我的 sql 脚本和其他 sql 语句中有以下创建触发器块。这里我有分号,我不能将其视为 SQL 语句终止符(PL/SQL 块本身可以包含多个分号分隔的语句)。这意味着我不能使用;
类似于GO
(在 MS SQL 中)。
CREATE OR REPLACE TRIGGER SQLVersionHistory_SeqNum_TRG
BEFORE INSERT
ON SQLVersionHistory
FOR …
Run Code Online (Sandbox Code Playgroud)