当前位置: 首页 > 面试题库 >

使用表变量将多行插入到SQL Server表中

宰父玄天
2023-03-14
问题内容

我当前正在使用SQL Server
2008,并且正在尝试使用表变量创建语句以在表中插入多行。就目前而言,我必须将要添加的信息插入4个不同的位置(2个select语句,1个insert和1个update),但是希望能够创建一个表变量,因此我只需要输入信息一次。任何帮助/建议将不胜感激。

这是我试图改变的一个例子。

PRINT 'Before'
SELECT  GROUPID, ModifiedBy, ModifiedDate
FROM TableXYZ
WHERE groupID in(ID1, ID2, ID3, ID4)

BEGIN TRAN


Insert into TableXYZ
 (GROUPID)
VALUES
 (ID1), (ID2), (ID3), (ID4)



UPDATE TableXYZ
SET existingdays = 15
    ,ModifiedBy = @userID
    ,ModifiedDate = @today
WHERE groupID in(ID1, ID2, ID3, ID4)


Set  @RowCount =  @@ROWCOUNT


PRINT 'After '

SELECT  GROUPID, ModifiedBy, ModifiedDate
FROM TableXYZ
WHERE groupID in(ID1, ID2, ID3, ID4)

问题答案:

这是您仅要输入一次信息所要寻找的东西吗?

DECLARE @IDList TABLE
(
    ID INT
)

INSERT INTO @IDList ( ID )
VALUES
     (ID1)
    ,(ID2)
    ,(ID3)
    ,(ID4)

PRINT 'Before'
SELECT  GROUPID, ModifiedBy, ModifiedDate
FROM TableXYZ AS T
    INNER JOIN @IDList AS L
        ON T.GroupID = L.ID

BEGIN TRAN


Insert into TableXYZ
 (GROUPID)
SELECT ID
FROM @IDList


UPDATE TableXYZ
SET existingdays = 15
    ,ModifiedBy = @userID
    ,ModifiedDate = @today
FROM TableXYZ AS T
    INNER JOIN @IDList AS L
        ON T.GroupID = L.ID


Set  @RowCount =  @@ROWCOUNT


PRINT 'After '

SELECT  GROUPID, ModifiedBy, ModifiedDate
FROM TableXYZ AS T
    INNER JOIN @IDList AS L
        ON T.GroupID = L.ID


 类似资料:
  • 问题内容: 我似乎无法使用户输入的数据进入表然后进行打印。 到目前为止,这是我的代码: 我从这里得到了“模板” /开始 解决以下 现在,我想向表中添加两个变量,即原始日志变量和另一个用作时间戳记的变量。 其余代码与上面相同。我认为这会起作用,但是当我测试它时,表中什么也没有。 问题答案: 我认为您只需要更改获取和插入值的方式即可(另外,此行的SQL中存在语法错误): 我认为您可以完全忘记该变量,除

  • 我正在尝试使用单个表将数据插入到不同的表中,并且我正在插入的表具有主键。

  • 在本教程中将学习如何使用Oracle 语句将多行插入到一个或多个表中。 在之前的教程中,我们已经学习了如何在表中插入一行。 但是,有时我们可能希望将多行插入到一个或多个表中。 在这种情况下,就可以使用Oracle 语句,该语句也被称为多项式插入语句。 Oracle提供了两种类型的多项式插入语句:无条件的和有条件的。 1. 无条件的Oracle INSERT ALL语句 将多行插入到表中,要将多行插

  • 我想将行插入到具有唯一的、非自动递增主键的表中。 是否有一个本机SQL函数来计算最后一个键并将其递增,还是必须分两步进行:

  • 您好,我尝试使用mysqli从第一个表中获取autoincrement id,然后插入到第二个表中,这是我为每个表设计的数据库 表用户 表siswa 这就是我尝试过的 数据插入到用户表中,但不插入到siswa表中,对此有何建议? 编辑:被忽略的变量只($jkortu)现在修复,谢谢

  • 我正在创建一个使用Apache Web服务器(PHPmyAdmin)的PHP网站 我有三张桌子: 品牌 brand_id(主键)自动增加 brand_name < li>item_id(主键)自动递增 < li >项目类别 model_id(主键)自动增加 item_model brand_id(brand.brand_id的外键) brand_name(item.item_id的外键) 数量 价