相关疑难解决方法(0)

什么是DDL和DML

能否帮助我从头开始了解DDL和DML?

sql ddl dml

302
推荐指数
6
解决办法
42万
查看次数

截断,事务和删除数据库策略之间的区别

使用Rspec时,截断,事务和删除数据库策略有什么区别?我找不到任何解释这个的资源.我阅读了数据库清理程序自述文件,但它没有解释这些内容的作用.

为什么我们必须为Capybara使用截断策略?我在测试时是否需要清理数据库,还是可以禁用它.我不明白为什么我应该在每个测试用例后清理我的数据库,这不会只是减慢测试速度吗?

ruby database testing rspec

41
推荐指数
1
解决办法
9800
查看次数

mysql/sqlserver中truncate vs delete的比较

关于mysql/sqlserver即删除/截断的一件事让我头脑发热

哪一个更好更快?

在哪里使用删除?

在哪里使用truncate?

mysql sql sql-server

28
推荐指数
2
解决办法
5万
查看次数

oracle pl/sql中如何选择成嵌套类型?

我希望能够通过 rowid 删除,然后立即将要删除的数据插入审计表中。

有太多的记录到 INSERT INTO ... SELECT CRITERIA那时DELETE ... CRITERIA

我已经知道如何仅使用 rowid 和INSERT INTO ... SELECT.

内部包装体:

TYPE some_type IS RECORD (
   row_id    ROWID,
   full_row  table_name%ROWTYPE
);
TYPE some_type_list IS TABLE OF some_type
   INDEX BY BINARY_INTEGER;

PROCEDURE do_stuff
IS
   lc_data  SYS_REFCURSOR;
   lt_recs  some_type_list;
BEGIN
   OPEN lc_date FOR
      SELECT rowid, a.*
      FROM   table_name;
   LOOP
      FETCH lc_data
      BULK COLLECT INTO lt_recs
      LIMIT 50000;
      EXIT WHEN lt_recs.COUNT = 0;
      --
      FORALL i IN lt_recs.FIRST..lt_recs.LAST
         DELETE table_name
         WHERE …
Run Code Online (Sandbox Code Playgroud)

oracle plsql oracle11g

5
推荐指数
1
解决办法
1万
查看次数

TRUNCATE和DELETE之间的区别?

TRUNCATEDELETE命令执行相同的工作,在数据操作的情况下,为什么DELETE命令在DML命令下,TRUNCATE命令在DDL命令下?

sql oracle

5
推荐指数
2
解决办法
5273
查看次数

3
推荐指数
1
解决办法
497
查看次数

zend适配器beginTransaction()和commit()失败

我面临一个奇怪的问题

Zend_DB_Adapter的beginTrasaction()和commit()方法似乎没有按预期工作.我在beginTrasaction()和commit()方法中包含INSERT语句(在FOR LOOP中).但即使出现如下所示的错误,我仍然会看到已经插入了一些行,而我还是希望在发生错误时不会发生提交.我无法理解为什么.有人可以帮忙吗 谢谢.

SQLSTATE [23000]:完整性约束违规:1062键'PRIMARY'重复输入'0'

代码块如:

      **$localDB->beginTransaction();**
    try{
        echo $localDB->isConnected();

        $localDB->query("TRUNCATE TABLE $this->dbTable");
        **foreach ($rowSet as $row){**
            foreach ($row as $key=>$value){
                $localRow[$this->columnMap[$key]] =$value;
            }
            **$localDB->insert($this->dbTable,$localRow);**

        }

         $localDB->commit();
        }
        catch (Exception $e){
        $localDB->rollBack();
        echo $e->getMessage();
    }   
Run Code Online (Sandbox Code Playgroud)

mysql referential-integrity zend-framework transactions zend-db

3
推荐指数
1
解决办法
8512
查看次数

在Ruby on Rails应用程序中将JSON从API端点保存到数据库

我是Ruby on Rails的新手,需要一些建议!我尝试在Kimono Labs建立一个webscraper并拥有一个JSON文件,您可以在其中将网站数据转换为API:

https://www.kimonolabs.com/api/3obhv4p0?apikey=WWHHbKEkOmAPXsObOccPBXTb5NgRyCNO我要保存到Ruby on Rails应用程序的数据库中.

具体来说,它是我想要保存到数据库的"结果"键.它包含Google财经与公司的数据,引用页面的URL,P/E和最新价格.其格式如下:

"results": {
    "collection1": [
      {
        "property1": {
          "href": "https://www.google.com/finance?catid=TRBC:57&sort=a&ei=Tx2WVonTG9uhe7Hpv_AN",
          "text": "Company"
        },
        "property2": "P/E (ttm)",
        "property3": "Quote",
        "index": 1,
        "url": "https://www.google.com/finance?catid=TRBC%3A57&sort=PE_RATIO&ei=6tyMVrqxIdaP0ASF0pbACQ"
      },
      {
        "property1": {
          "href": "https://www.google.com/finance?q=NASDAQ:NANO&ei=Tx2WVonTG9uhe7Hpv_AN",
          "text": "Nanometrics Incorporated"
        },
        "property2": "10,100.72",
        "property3": "14.04",
        "index": 2,
        "url": "https://www.google.com/finance?catid=TRBC%3A57&sort=PE_RATIO&ei=6tyMVrqxIdaP0ASF0pbACQ"
      },
Run Code Online (Sandbox Code Playgroud)

这是我的迁移:

ActiveRecord::Schema.define(version: 20160108073353) do

  create_table "stocks", force: :cascade do |t|
    t.string   "company"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string   "url"
    t.float    "pe"
    t.float    "quote"
  end
Run Code Online (Sandbox Code Playgroud)

问题是如何将此JSON文件加载到我的应用程序中?我认为它有以下步骤,因此我的问题可以分解为:

  • 我需要用RestClient或OpenURI打开/加载它>我该怎么做?
  • 解析数据并使其成为Ruby哈希>我该怎么做?
  • 然后遍历哈希并将数据保存到数据库?>我该怎么做? …

ruby json ruby-on-rails

2
推荐指数
1
解决办法
1635
查看次数

DROP,TRUNCATE和DELETE之间的区别和最佳目的是什么?他们可以回滚吗?

*删除是DML(数据操作语言).删除命令删除现有表中的记录.*的语法Delete

sql> Delete from .
Run Code Online (Sandbox Code Playgroud)

这将从TAble中删除所有记录

sql> Delete from
      Where  ** 
Run Code Online (Sandbox Code Playgroud)

这会删除一组特定的记录.

注意:删除不是Autocommit语句(事实上,DML都不是自动提交)

Drop和Truncate都是DDL(数据定义语言).

使用它的结构删除{删除或删除}表.这是自动声明.Drops一旦被解雇,就无法回滚.

句法:

sql>drop table
Run Code Online (Sandbox Code Playgroud)

Truncate是用于从表中删除所有记录的命令.但是表的结构保持不变.它也是一个自动提交声明.

句法;

sql>truncate table**
Run Code Online (Sandbox Code Playgroud)

我们可以回滚截断吗?

sql database oracle plsql

1
推荐指数
1
解决办法
6万
查看次数