La WITH
cláusula para las expresiones de tabla comunes va en la parte superior.
Ajustar cada inserto en un CTE tiene la ventaja de segregar visualmente la lógica de consulta de la asignación de columnas.
Encuentra el fallo:
WITH _INSERT_ AS (
SELECT
[BatchID] = blah
,[APartyNo] = blahblah
,[SourceRowID] = blahblahblah
FROM Table1 AS t1
)
INSERT Table2
([BatchID], [SourceRowID], [APartyNo])
SELECT [BatchID], [APartyNo], [SourceRowID]
FROM _INSERT_
Mismo error:
INSERT Table2 (
[BatchID]
,[SourceRowID]
,[APartyNo]
)
SELECT
[BatchID] = blah
,[APartyNo] = blahblah
,[SourceRowID] = blahblahblah
FROM Table1 AS t1
Algunas líneas de repeticiones hacen que sea extremadamente fácil verificar que el código inserte la cantidad correcta de columnas en el orden correcto, incluso con una gran cantidad de columnas. Tu futuro yo te lo agradecerá más tarde.