【问题标题】:What is the Derby equivalent to CREATE OR REPLACE?Derby 相当于 CREATE OR REPLACE 是什么?
【发布时间】:2011-10-14 17:12:11
【问题描述】:

有没有人知道以下的德比等价物?

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

【问题讨论】:

标签: sql database replace derby


【解决方案1】:

它不存在。

只需尝试执行SELECT,如果失败,则使用异常代码捕获它:

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

【讨论】:

  • 不幸的是,我无法使用 Java 代码尝试/捕获。我真的需要能够纯粹在 SQL 中做到这一点。是否可以在 SQL 中做类似的事情?
  • 没有。该语法不是标准的,是一种语言扩展,不受 Apache Derby 的支持。我认为您应该尝试第二种方法,抱歉。
猜你喜欢
  • 2010-09-14
  • 1970-01-01
  • 2011-04-10
  • 1970-01-01
  • 2013-03-20
  • 2021-06-21
  • 1970-01-01
  • 2013-11-21
  • 1970-01-01
相关资源
最近更新 更多