管理并发以在DB2中插入数据

我目前正在进行一项研究,想知道当前存在哪些方法或算法来管理将多用户数据插入两个关系表(通过主键和外键进行关联)。

在主键表中,
-主键可以是自动增量ID,也可以是非自动增量ID。

在外键表中
-每次将新记录插入主键表中时,都必须将2条记录插入外键并指向新记录的主键

目前,我正在这样做。
1.我有2个表(带非增量主键表)(外键表)
2.我有另一个表(计数器)存储最大的主键值
3.每次用户插入新记录时,它将读取最大主键值+ 1
4.然后将开始事务并使用commit语句分别将三个记录插入主键表和外键表中

我担心的是市场上有哪些替代品?

Mustaccio

如果我正确理解了您的问题,则您担心确定需要在子记录中使用的刚刚插入的父记录标识值。有多种方法可以完成此操作(我假设在这里我们谈论的是针对Linux,Unix和Windows的DB2,因为您没有指出DB2的版本和平台)。

如果使用IDENTITY属性定义父PK列,则可以使用内置函数引用刚生成的标识值IDENTITY_VAL_LOCAL()

如果使用aSEQUENCE生成键值,则NEW VALUE FOR myseq在插入父表和PREVIOUS VALUE FOR myseq子表将使用引用

最后,您可以使用称为“数据更改表引用”的功能,该功能可让您获取DML语句的结果:

SELECT yourpk_column FROM FINAL TABLE ( INSERT INTO yourparent_tab... )

您甚至可以使用一条语句(在此示例person.person_id中定义为IDENTITY将其插入父表和子表中

WITH parent (person_id) AS (  
  SELECT person_id FROM FINAL TABLE (
    INSERT INTO person (first_name, last_name) VALUES ('John', 'Doe')   
  )
)
SELECT * FROM NEW TABLE (
  INSERT INTO person_phone (person_id, type, number)
     SELECT person_id, 'Office', '555-555-1234' FROM parent
    UNION ALL
     SELECT person_id, 'Home', '555-555-6789' FROM parent) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用SQL查询在DB2中插入BLOB数据

来自分类Dev

DB2数据库特殊字符,可插入表中

来自分类Dev

在db2表中插入2016-08-29-23.17.147253时间戳数据

来自分类Dev

JSON:从数据库插入和检索(DB2)

来自分类Dev

使用直通 SQL 从 SAS 数据集插入 DB2

来自分类Dev

使用DB2查询加入mysql数据进行插入

来自分类Dev

在一个DB2数据库上触发并插入到另一个DB2数据库中

来自分类Dev

在将数据插入到SQL for DB2的表中之前,如何对列的值进行大小验证?

来自分类Dev

如何使用 Spring JDBC Framework 将“空”时间戳插入 DB2 数据库中

来自分类Dev

管理逻辑约束以处理mySQL数据库插入中的并发

来自分类Dev

DB2 SQL语句,用于插入新数据和更新现有数据

来自分类Dev

Db2:如何插入新数据并更新现有数据?

来自分类Dev

页面大小不足-DB2插入

来自分类Dev

db2是否有标识插入?

来自分类Dev

通过联接DB2中的表来查询数据

来自分类Dev

在db2中查找xml type列的数据大小

来自分类Dev

通过联接DB2中的表来查询数据

来自分类Dev

在db2中查找xml type列的数据大小

来自分类Dev

链接db2中的不同数据库表

来自分类Dev

从 DB2 SQL 中的日期范围选择数据

来自分类Dev

数据库填充空间(如果插入的值的长度小于列大小)-DB2

来自分类Dev

在db2数据库上插入失败(在iSeries上)

来自分类Dev

在DB2中具有select的插入中使用CURRENT TIME

来自分类Dev

如何在DB2中用单撇号插入值

来自分类Dev

在DB2中插入要花费很多时间

来自分类Dev

根据php脚本中db2查询的结果插入mysql表

来自分类Dev

替换DB2数据库中xml数据列中的节点

来自分类Dev

如何从 DB2 Clob 检索数据?

来自分类Dev

在DB2中存储纬度和经度数据时使用什么数据类型?

Related 相关文章

  1. 1

    使用SQL查询在DB2中插入BLOB数据

  2. 2

    DB2数据库特殊字符,可插入表中

  3. 3

    在db2表中插入2016-08-29-23.17.147253时间戳数据

  4. 4

    JSON:从数据库插入和检索(DB2)

  5. 5

    使用直通 SQL 从 SAS 数据集插入 DB2

  6. 6

    使用DB2查询加入mysql数据进行插入

  7. 7

    在一个DB2数据库上触发并插入到另一个DB2数据库中

  8. 8

    在将数据插入到SQL for DB2的表中之前,如何对列的值进行大小验证?

  9. 9

    如何使用 Spring JDBC Framework 将“空”时间戳插入 DB2 数据库中

  10. 10

    管理逻辑约束以处理mySQL数据库插入中的并发

  11. 11

    DB2 SQL语句,用于插入新数据和更新现有数据

  12. 12

    Db2:如何插入新数据并更新现有数据?

  13. 13

    页面大小不足-DB2插入

  14. 14

    db2是否有标识插入?

  15. 15

    通过联接DB2中的表来查询数据

  16. 16

    在db2中查找xml type列的数据大小

  17. 17

    通过联接DB2中的表来查询数据

  18. 18

    在db2中查找xml type列的数据大小

  19. 19

    链接db2中的不同数据库表

  20. 20

    从 DB2 SQL 中的日期范围选择数据

  21. 21

    数据库填充空间(如果插入的值的长度小于列大小)-DB2

  22. 22

    在db2数据库上插入失败(在iSeries上)

  23. 23

    在DB2中具有select的插入中使用CURRENT TIME

  24. 24

    如何在DB2中用单撇号插入值

  25. 25

    在DB2中插入要花费很多时间

  26. 26

    根据php脚本中db2查询的结果插入mysql表

  27. 27

    替换DB2数据库中xml数据列中的节点

  28. 28

    如何从 DB2 Clob 检索数据?

  29. 29

    在DB2中存储纬度和经度数据时使用什么数据类型?

热门标签

归档