相关疑难解决方法(0)

SQL Server上INSERT或UPDATE的解决方案

假设一个表结构MyTable(KEY, datafield1, datafield2...).

通常我想要更新现有记录,或者如果新记录不存在则插入新记录.

实质上:

IF (key exists)
  run update command
ELSE
  run insert command
Run Code Online (Sandbox Code Playgroud)

写这个的最佳表现方式是什么?

sql database sql-server insert upsert

564
推荐指数
11
解决办法
60万
查看次数

oracle sql:如果存在则更新,否则插入

可能重复:
Oracle:如何UPSERT(更新或插入表?)

嗨,

我有一个表,如果记录已经存在,则必须修改该记录,否则必须插入新记录.Oracle sql不接受IF EXISTS,否则我会做一个if - update - else - insert查询.我看过MERGE但它只适用于多个表.我该怎么办?

sql oracle

33
推荐指数
4
解决办法
15万
查看次数

如何使用SQLite.swift更新或插入

如果行已经存在,我想更新行的列,但如果它还不存在,那么我想插入一个新行.

相关问题

这种类型的问题通常适用于SQL

特别是SQLite

寻找SQLite.swift实现

我正在尝试通过使用SQLite.swift包装器来开发iOS 来节省开发时间.我选择了这个框架,因为它是在raywenderlich.com上推荐的.我认为有一个更新或插入语法的示例会很有用.

战略

这个答案中,Sam Saffron说:

如果你一般都在做更新,我会..

  1. 开始交易
  2. 做更新
  3. 检查rowcount
  4. 如果为0则执行插入操作
  5. 承诺

如果你通常做插入我会

  1. 开始交易
  2. 尝试插入
  3. 检查主键冲突错误
  4. 如果我们得到错误,请进行更新
  5. 承诺

这样你就可以避免选择,并且你在Sqlite上具有事务性.

这对我来说很有意义,所以在下面我的回答中,我提供了一个"通常做更新"的例子.

sqlite ios swift sqlite.swift

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

带条件的SQL插入查询

我想在条件满足时将值插入表的1列.

注意:该表已包含所有列的数据,但是1表示为空.我想根据WHERE子句将值插入此1列.

我有这个问题:

INSERT INTO <TABLE_NAME>
(COLUMN_NAME)
(VALUE)
WHERE <CONDITION>
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

WHERE关键字附近的语法不正确

我可以使用UPDATE执行此操作:

UPDATE <TABLE_NAME>
SET <COL_NAME>
WHERE <CONDITION>
Run Code Online (Sandbox Code Playgroud)

但是想知道为什么INSERT查询失败了.任何建议表示赞赏.

sql t-sql sql-server sql-server-2008

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