SQL Server:使用第一个插入的输出插入第二个表

用户名

我有一个基本的存储过程,它将一个新记录添加到具有如下结构的表中。该表还具有一列“ itemID”,该列设置为自动递增以为每个记录创建唯一的ID。

我想使用Output从插入的新记录中获取此ID,然后将其用于向另一个表(具有colD,colE,colF列的Table2)添加新记录表2中的colF应该是下面的输出,因为这是链接两个表的ID。

有人可以告诉我这是怎么工作的,因为我是SQL的新手,以前从未做过此事?

我的存储过程(示例):

ALTER PROCEDURE [dbo].[CreateStuff]
    @colA datetime,
    @colB varchar(50),
    @colC nvarchar(20)
AS
BEGIN
SET NOCOUNT ON;
    INSERT INTO Table1
        (
            colA,
            colB,
            colC
        )
    SELECT  @colA,
            @colB,
            @colC
END

蒂姆,非常感谢您对此提供的任何帮助。

马里
BEGIN  
SET NOCOUNT ON;

 /* Here declare a Table Variable */

DECLARE @Table_Var TABLE(itemID INT)



    INSERT INTO Table1(colA,colB,colC)
    OUTPUT inserted.itemID  INTO @Table_Var(itemID)
    SELECT  @colA,@colB,@colC


    /* Now do the insert into Table 2*/

    INSERT INTO TABLE2
    SELECT itemID FROM @Table_Var
END

SCOPE_IDENTITY() 仅在执行单个插入操作时才有用,它是一个IDENTITY列,其值是要捕获的,它只会返回最后一个Generated Identity值。

否则,如果您要进行多次插入或它不是一个标识列,则应使用OUTPUT子句以及表可变/临时表来捕获插入的值。然后稍后再执行您要使用它们的值(插入另一个表/记录任何内容)。

要了解更多信息,请OUTPUT Clause查看此链接。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL比较第一个或第二个值对

来自分类Dev

根据第二个表的另一个值(sql)在第一个表中选择一个值

来自分类Dev

SQL根据第二个表中的值列表从第一个表中选择

来自分类Dev

sql获取第一个和第二个最大值的条件

来自分类Dev

如何获取每个用户SQL的第一个时钟输出时间和第二个时钟时间

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

第一个条件为false时,第二个AND条件的Azure SQL执行

来自分类Dev

SQL查询检查第一个表中的列或查找第二个表中的行

来自分类Dev

当第二个查询依赖于SQL Server中的第一个查询输出时,如何在存储过程中编写两个查询

来自分类Dev

从SQL查询中获取第一个/第二个/第三个元素

来自分类Dev

SQL Oracle-使用存储在第二个表中的值(行)的列名对第一个表中的列中的值求和

来自分类Dev

基于Oracle SQL中第一个查询的结果的第二个查询中的UNION表

来自分类Dev

为什么第一个SQL不能像第二个语句那样使用“ AND”语句?

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

SQL-连接表,其中第一个表的值必须在第二个表中指定的范围内

来自分类Dev

SQL第二个INSERT查询,其ID为第一个

来自分类Dev

使用第一个查询的结果作为第二个查询的参数嵌入MS SQL查询

来自分类Dev

从SQL查询中获取第一个/第二个/第三个元素

来自分类Dev

我想将第一个SQL表中的数据插入第二个SQL表中,同时在第二个SQL表中不存在额外的列

来自分类Dev

SQL Oracle-使用存储在第二个表中的值(行)的列名对第一个表中的列中的值求和

来自分类Dev

通过添加第二个表的日期并减去SQL中第一个表的结果,根据第二个表中的值创建表视图

来自分类Dev

SQL Server:如何获取单词中的第一个或第二个字母?

来自分类Dev

SQL 连接,其中第二个表中的值是第一个表中的第一个较低值

来自分类Dev

如何使用第二个 sql 的名称从第一个表中删除值

来自分类Dev

SQL:查询显示最大日期(第一个和第二个最大日期)

来自分类Dev

Mysql - sql 如何从包含第一个表 ID 的第二个表中获取最小时间和最大时间记录

来自分类Dev

2个表的SQL查询如何填充第一个到第二个表的字段

来自分类Dev

SQL Join:如何显示第一个表数据,即使是第二个表条件为假

来自分类Dev

SQL 更新第一个表,在第二个表中使用条件变量检索

Related 相关文章

  1. 1

    SQL比较第一个或第二个值对

  2. 2

    根据第二个表的另一个值(sql)在第一个表中选择一个值

  3. 3

    SQL根据第二个表中的值列表从第一个表中选择

  4. 4

    sql获取第一个和第二个最大值的条件

  5. 5

    如何获取每个用户SQL的第一个时钟输出时间和第二个时钟时间

  6. 6

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  7. 7

    第一个条件为false时,第二个AND条件的Azure SQL执行

  8. 8

    SQL查询检查第一个表中的列或查找第二个表中的行

  9. 9

    当第二个查询依赖于SQL Server中的第一个查询输出时,如何在存储过程中编写两个查询

  10. 10

    从SQL查询中获取第一个/第二个/第三个元素

  11. 11

    SQL Oracle-使用存储在第二个表中的值(行)的列名对第一个表中的列中的值求和

  12. 12

    基于Oracle SQL中第一个查询的结果的第二个查询中的UNION表

  13. 13

    为什么第一个SQL不能像第二个语句那样使用“ AND”语句?

  14. 14

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  15. 15

    SQL-连接表,其中第一个表的值必须在第二个表中指定的范围内

  16. 16

    SQL第二个INSERT查询,其ID为第一个

  17. 17

    使用第一个查询的结果作为第二个查询的参数嵌入MS SQL查询

  18. 18

    从SQL查询中获取第一个/第二个/第三个元素

  19. 19

    我想将第一个SQL表中的数据插入第二个SQL表中,同时在第二个SQL表中不存在额外的列

  20. 20

    SQL Oracle-使用存储在第二个表中的值(行)的列名对第一个表中的列中的值求和

  21. 21

    通过添加第二个表的日期并减去SQL中第一个表的结果,根据第二个表中的值创建表视图

  22. 22

    SQL Server:如何获取单词中的第一个或第二个字母?

  23. 23

    SQL 连接,其中第二个表中的值是第一个表中的第一个较低值

  24. 24

    如何使用第二个 sql 的名称从第一个表中删除值

  25. 25

    SQL:查询显示最大日期(第一个和第二个最大日期)

  26. 26

    Mysql - sql 如何从包含第一个表 ID 的第二个表中获取最小时间和最大时间记录

  27. 27

    2个表的SQL查询如何填充第一个到第二个表的字段

  28. 28

    SQL Join:如何显示第一个表数据,即使是第二个表条件为假

  29. 29

    SQL 更新第一个表,在第二个表中使用条件变量检索

热门标签

归档