如何将单个sql语句从Oracle sql脚本中分离出来,以便从java代码中执行
我有OracleDB11gEnterpriseEdition,我想从我的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脚本中有以下create触发器块以及其他sql语句。这里我有分号,我不能把它看作是终止语句的SQL语句(PL/SQL块本身可以包含多个分号分隔的语句)。这意味着我不能使用类似于GO
(在MS SQL中)的;
CREATE OR REPLACE TRIGGER SQLVersionHistory_SeqNum_TRG
BEFORE INSERT
ON SQLVersionHistory
FOR EACH ROW
BEGIN
:NEW.SequenceNumber := SQLVersionHistory_SeqNum.NEXTVAL;
END;
共 (0) 个答案