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

在SQL2005中使用一条命令将多行插入到临时表中

楚涵润
2023-03-14
问题内容

我有以下格式的数据:

-1,-1,-1,-1,701,-1,-1,-1,-1,-1,304,390,403,435,438,439,442,455

我需要将其插入到临时表中,如下所示:

CREATE TABLE #TEMP
(
Node int
)

这样我就可以将其与另一个表中的数据进行比较。

上面的数据代表“节点”列的单独行。

是否有一种简单的方法可以将所有这些数据全部插入一个命令中?

另外,数据实际上将以字符串形式进入,因此…我需要能够将其连接到SQL查询字符串中。显然,如果需要,我可以先对其进行修改。


问题答案:

尝试类似的东西

CREATE TABLE #TEMP 
( 
    Node int 
)


DECLARE @textXML XML
DECLARE @data NVARCHAR(MAX), 
        @delimiter NVARCHAR(5)
SELECT  @data = '-1,-1,-1,-1,701,-1,-1,-1,-1,-1,304,390,403,435,438,439,442,455 ',
        @delimiter = ','
SELECT    @textXML = CAST('<d>' + REPLACE(@data, @delimiter, '</d><d>') + '</d>' AS XML)

INSERT INTO #TEMP
SELECT  T.split.value('.', 'nvarchar(max)') AS data
FROM    @textXML.nodes('/d') T(split)

SELECT * FROM #TEMP

DROP TABLE #TEMP


 类似资料:
  • 问题内容: 是否可以使用一个insert语句在一个表中插入多行?我知道如果发生以下情况,将会发生这种情况: 但是,如果我想插入: 只需一个插入命令? 问题答案: 两种解决方案(来源:http : //appsfr.free.fr/spip.php?article21): 或者

  • 问题内容: 我有一个输出当前数据的现有查询,我想将其插入到Temp表中,但是这样做有一些问题。有人会对如何执行此操作有一些见解吗? 这是一个例子 这似乎当前以我需要的方式输出我的数据,但我想将其传递到临时表中。我的问题是我对SQL查询还很陌生,还没有找到一种方法来做到这一点。或者,即使有可能。如果不可能,是否有更好的方法将我要查找的数据获取到临时表中? 问题答案:

  • 我有一个输出当前数据的现有查询,我想将其插入到Temp表中,但这样做有一些问题。有人对如何做到这一点有一些见解吗? 这里有一个例子 这似乎以我需要的方式输出了我的数据,但我想将其传递到临时表中。我的问题是我对SQL查询很陌生,并且无法找到这样做的方法。或者如果可能的话。如果不可能,有没有更好的方法将我正在寻找的获取到临时表中?

  • 问题内容: 我有一个看起来像的xml列 我需要将XML中的数据插入到临时表中。 这里 为此,我使用以下代码。但是它不起作用,也没有在临时表中插入任何数据。 但这不起作用,如果正确的xml格式如下所示: 然后就可以了。 请帮我。 问题答案: 首先-请 使用适当的数据类型! 如果您的源数据是XML-为什么不使用数据类型? 另外,如果您的表中有一个-为什么不输入a或类型呢?而为什么是一个?? 没有意义.

  • 问题内容: 我当前正在使用SQL Server 2008,并且正在尝试使用表变量创建语句以在表中插入多行。就目前而言,我必须将要添加的信息插入4个不同的位置(2个select语句,1个insert和1个update),但是希望能够创建一个表变量,因此我只需要输入信息一次。任何帮助/建议将不胜感激。 这是我试图改变的一个例子。 问题答案: 这是您仅要输入一次信息所要寻找的东西吗?

  • 在创建了临时表并声明了数据类型之后; 然后如何插入数据库中物理表中已保存的相关数据?