【发布时间】:2018-10-04 11:56:53
【问题描述】:
您好,我想通过批量插入、csv 文件和存储过程插入数据, 我的问题是当我使用参数而不是 csv 文件的路径时,当我更改参数的路径时,我得到下一个错误
消息 102,级别 15,状态 1,过程 carga_masiva,第 7 行 [批处理 开始第 7 行] '@ruta' 附近的语法不正确。消息 319,第 15 级,状态 1、程序carga_masiva,第7行[Batch Start Line 7]不正确 关键字'with'附近的语法。如果这个语句是公用表 表达式、xmlnamespaces 子句或更改跟踪上下文 子句,前面的语句必须以分号结束。
这是我的存储过程:
USE [prueba]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[carga_masiva]
--Parametros que utilizara el procedimiento almacenado
@ruta nvarchar(250)
AS
--Query que realizara el procedimiento almacenado
SET NOCOUNT ON;
BULK INSERT USUARIO
FROM @ruta
WITH
(
FIELDTERMINATOR= ';',
ROWTERMINATOR = '\n'
)
【问题讨论】:
-
在 WITH 之前添加一个分号,即将 WITH 更改为 ;WITH。这应该会有所帮助。
-
@DEEPAKLAKHOTIA 它不会 - 它会破坏语句并且批量插入需要 with。如果它是 CTE,你需要打破它。问题似乎与 from 声明有关
-
前面的语句必须以分号结束。
标签: sql sql-server sql-server-2008