我完全不熟悉Oracle(我來自MySQL和MSSQL)並且是JDBC的新手。我的一個表創建的查詢看起來是這樣的:如何在Oracle SQL查詢中包含多個命令到Oracle 10g?
CREATE TABLE "LISTS"
("ID" NUMBER NOT NULL ENABLE,
"NAME" VARCHAR2(1000) NOT NULL ENABLE,
"DOMAIN_ID" NUMBER NOT NULL ENABLE,
CONSTRAINT "LISTS_PK" PRIMARY KEY ("ID") ENABLE
)
/
CREATE OR REPLACE TRIGGER "BI_LISTS"
before insert on "LISTS"
for each row
begin
select "LISTS_SEQ".nextval into :NEW.ID from dual;
end;
/
ALTER TRIGGER "BI_LISTS" ENABLE
/
當我嘗試connection.createStatement().execute()
此查詢,我得到java.sql.SQLSyntaxErrorException: ORA-00922: missing or invalid option
。如果我刪除斜線,我會得到相同的結果。如果我嘗試用分號替換它們,我會得到java.sql.SQLSyntaxErrorException: ORA-00911: invalid character
。
是不是可以在JDBC和/或Oracle中的一個查詢中包含多個命令?或者我只是缺少某種語法來區分它們?
這不是那麼重要,他們是一個聲明(我會分離出來分爲三個字符串作爲發佈前一種解決方法),我只是想看看,如果我失去了一些東西和/或者做錯了。謝謝! – kobachi 2010-12-09 23:30:25
您可以使用一些特定於Oracle的語法來欺騙JDBC,但JDBC的對象模型確實旨在將語句級命令傳遞到數據庫,因爲每個命令都可能有響應/異常。 – Xailor 2010-12-09 23:34:33