stored - procedimientos almacenados sql
Mapeo de parĂ¡metros usando una tarea Ejecutar SQL (2)
Complete una variable con su secuencia de comandos SQL completa y utilice la variable como SQLSourceType en su tarea Ejecutar SQL.
Estoy intentando crear una tabla temporal e insertar datos en la tabla temporal dentro de una tarea Ejecutar SQL dentro de un contenedor de bucle foreach.
Aquí están las tareas sql
IF OBJECT_ID(''TEMPDB.DBO.#TEMP'') IS NOT NULL
DROP TABLE #TEMP
GO
CREATE TABLE #TEMP
( ... );
INSERT INTO #TEMP
SELECT (...)
FROM table t1 INNER JOIN table2 t2
ON t1.id = t2.table1_id
WHERE t1.value = ?
Quiero tener un parámetro en la cláusula WHERE, pero cada vez que intento agregarlo obtengo este error.
"La operación OLE DB de varios pasos generó errores. Verifique el valor de estado de OLE DB, si está disponible. No se realizó ningún trabajo". Posibles motivos de falla: problemas con la consulta, la propiedad "ResultSet" no está configurada correctamente, los parámetros no están configurados correctamente o la conexión no está establecida correctamente. "
Cuando codigo el valor en la Cláusula Where, el inserto funciona perfectamente.
¿Qué estoy haciendo mal en mi asignación de parámetros?
Aquí están mis configuraciones de mapeo de parámetros
Además, no puedo usar un procedimiento almacenado.
Solo vaya a Expressions
pestaña Expressions
como se muestra en la captura de pantalla que proporcionó y escriba la siguiente expresión en la propiedad SqlStatmentSource
"IF OBJECT_ID(''TEMPDB.DBO.#TEMP'') IS NOT NULL
DROP TABLE #TEMP
GO
CREATE TABLE #TEMP
( ... );
INSERT INTO #TEMP
SELECT (...)
FROM table t1 INNER JOIN table2 t2
ON t1.id = t2.table1_id
WHERE t1.value = ''" + @[User::Where_Variable] + "''"