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

表变量批量插入的此SQL语句出了什么问题

费明诚
2023-03-14
问题内容

我正在尝试将CS​​V插入临时表,但此SQL语句似乎不起作用。

DECLARE @TempTable TABLE (FName nvarchar(max),SName nvarchar(max),
                          Email nvarchar(max));
BULK INSERT @TempTable 
FROM 'C:\52BB30AD694A62A03E.csv' 
WITH (FIELDTERMINATOR = ',',ROWTERMINATOR = '\n')

出现以下错误…。

Incorrect syntax near '@TempTable'.


问题答案:

您不能将INSERT批量插入表变量中。所以这行:

BULK INSERT @TempTable

是什么原因引起的错误。

仅供参考,最简单的解决方法可能只是使用#Temp表而不是Table Variable。因此,您的SQL代码将更改为:

CREATE TABLE #TempTable (FName nvarchar(max),SName nvarchar(max),
                          Email nvarchar(max));
BULK INSERT #TempTable 
FROM 'C:\52BB30AD694A62A03E.csv' 
WITH (FIELDTERMINATOR = ',',ROWTERMINATOR = '\n')


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

  • 问题内容: 此SQL查询是由SQL Server Managment Studio生成的,它引发了一个错误: 错误是:指向但我觉得这行没问题。 有什么事吗 编辑: 我只是注释掉 现在可以了,为什么呢? 编辑2: 我将其范围缩小到: 我在这里想念什么吗? 问题答案: 我认为这取决于SQL Server数据库版本。 我尝试对SQL Server 2000数据库使用SSMS 2005进行查询,但由于您描

  • 问题内容: 我正在尝试将数据从此链接插入到我的SQL Server https://www.ian.com/affiliatecenter/include/V2/CityCoordinatesList.zip 我创建了表 我正在运行以下脚本来进行批量插入 但是批量插入失败,并出现以下错误 当我使用google时,我发现了几篇文章,指出问题可能出在RowTerminator上,但我尝试了诸如/ n

  • 问题内容: 我试图用大约50,000行10列填充Java中的resultSet,然后使用的方法将它们插入到另一个表中。 为了使过程更快,我进行了一些研究,发现在将数据读入resultSet时,fetchSize起着重要的作用。 如果fetchSize太低,可能会导致到服务器的行程过多,而fetchSize太高则会阻塞网络资源,因此我做了一些尝试,并设置了适合我的基础结构的最佳大小。 我正在阅读此r

  • 行动时间 - SQL语句作为变量 unlang的一个非常强大的功能是它允许您通过sql模块执行SQL查询。查询实际上是一个变量,此查询的返回值是变量的值。我们现在将修改上一个练习以从数据库中获取时间并将其添加到Reply-Message值。 要执行SQL查询,您需要包含并配置FreeRADIUS以使用sql模块。 sql模块还需要在至少一个部分中使用,例如,授权或记帐部分。 1.在FreeRADI

  • 我正在使用Cassandra 3.10,并试图通过每个查询都有一个表来遵循最佳实践,因此我使用批处理插入发音将多个表作为单个事务插入,但我在cassandra日志中出现以下错误。 [zed.payment,zed.trade_party_b_ref,zed.trade_product_type,zed.trade,zed.fx_variance_swap,zed.trade_party_a_ref