2011-07-27 94 views
3

有誰知道下面的Derby等價物?Derby等同於CREATE OR REPLACE是什麼?

CREATE OR REPLACE VIEW myView AS SELECT ... 

我的網絡搜索沒有找到任何明確的內容。想知道如果我可能做同樣的事情到了我必須爲MSSQL做:

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'myView') 
    DROP VIEW [dbo].[myView]; 

CREATE VIEW [dbo].[myView] AS SELECT ... 

在這種情況下,我想我得head down this path

+0

在這裏看到:http://old.nabble.com/Create-table-if-not-exists- -td22130625.html –

+0

和這個:http://stackoverflow.com/questions/5866154/how-to-create-table-if-it-doesnt-exist-using-derby-db –

回答

4

它不存在。

只是嘗試執行SELECT,如果失敗與異常代碼抓住它:

try { 
     // Try to perform your query on the view. 
    } catch(SQLException e) { 
     // Compare exception code. If equals to X0Y32 then create the view. 
    } 
+0

不幸的是,我沒有在一個情況在那裏我可以嘗試/捕捉使用Java代碼。我真的需要能夠純粹在SQL中完成此操作。是否有可能在SQL中做類似的事情? –

+0

Nop。該語法不是標準語言擴展,並且不受Apache Derby支持。我認爲你應該嘗試你的第二種方法,對不起。 –

相關問題