Estoy tratando de hacer un sp, que copie los datos de las tablas de un
servidor a otro, pasandole como parametro el nombre de la tabla
(@pTableName )
El caso es que me arroja un error en la linea 1
Server: Msg 156, Level 15, State 1, Line 1
Sintaxis incorrecta cerca de la palabra clave 'SELECT'.
Server: Msg 170, Level 15, State 1, Line 1
Línea 1: sintaxis incorrecta cerca de ')'.
Pero si comento la instrucción "EXEC sp_executesql @vIns", el sp se ejecuta
sin problemas (aunque no hace lo que quiero, logicamente)
SET NOCOUNT ON
DECLARE @pTableName nvarchar(128)
SET @pTableName= 'ConfigTablas'
DECLARE @vSQL nvarchar(4000)
DECLARE @vIns NVARCHAR(4000)
IF EXISTS (SELECT name FROM sysobjects WHERE name = @pTableName AND xtype 'U')
BEGIN
SET XACT_ABORT ON
BEGIN DISTRIBUTED TRANSACTION
SET @vSQL = 'TRUNCATE TABLE ' + @pTableName
SELECT @vSQL
EXECUTE (@vSQL)
SET @vIns = N'INSERT INTO ' + @pTableName + N' (SELECT * FROM
SIPSrv.SIPDataBase.dbo.' + @pTableName + N')'
SELECT @vIns
EXEC sp_executesql @vIns
COMMIT
END
Alguien puede hecharme una mano?
Gracias de antemano.
José G. Álvarez
Valencia - Venezuela
Leer las respuestas