【问题标题】:How to check Create Table SQl query in DBFit?如何在 DBFit 中检查 Create Table SQl 查询?
【发布时间】:2017-02-28 09:39:25
【问题描述】:

我使用 sqlplus 创建了一个没有任何数据的表。如何在 DBFit 中编写测试以检查是否存在具有该名称的表?

【问题讨论】:

  • 我不知道 dbfit 是什么。一个快速的谷歌告诉我这也是一个测试。那么您要检查表的哪个方面?
  • DbFit 是一个单元测试工具。我正在检查 select * from using dbfit 之类的查询。现在,我想在 dbFit 中检查创建表
  • 好的,所以你在 sqlplus 中创建了你的表。你现在在检查什么?它存在吗?那是它有正确的名字吗?是空的吗?
  • 检查是否存在同名的表

标签: sql oracle plsql dbfit


【解决方案1】:

您可以为此使用查询统计信息。

语法是这样的。

!| Query  Stats |  
|   query     |    is empty?|

|select * from user_tables where table_name = 'table_name'         |false          |

【讨论】:

    【解决方案2】:

    所以你想要一个表存在的断言。只需检查 Oracle 数据字典即可。

    在不知道 DBfit 语法的情况下,查询将是:

    select count(*) 
    from user_tables
    where table_name = 'YOUR_TEST_TABLE';
    

    如果返回 1,则表以该名称存在。如果为 0 则没有。

    【讨论】:

      【解决方案3】:

      根据 APC 的回答,在 DBFIt 中你会做这样的事情:

      !|查询| !- 选择计数(*) KNT
      来自用户表
      其中 table_name = 'YOUR_TEST_TABLE' -!|
      |KNT|
      |1|

      虽然,如果它不是您创建的表,您可能希望使用 all_tables 而不是 user_tables。

      【讨论】:

      • 欢迎使用 StackOverflow:如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮 ( { } ) 或使用 Ctrl键盘上的 +K 可以很好地格式化和语法突出显示它!
      猜你喜欢
      • 1970-01-01
      • 2015-05-06
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 2019-07-23
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多