Pregunta

Aquí está mi declaración:

DELETE FROM tabla1 SALIDA deleted.col1, deleted.col2 EN view1;

Me da este error:

El objetivo 'view1' de la cláusula OUTPUT INTO no puede ser un punto de vista o expresión de tabla común.

La vista es simple y actualizable. ¿Por qué no puedo insertar en una vista actualizable mediante la cláusula SALIDA?

¿Fue útil?

Solución

A partir de MSDN - :

"La cláusula OUTPUT no se admite en las siguientes declaraciones:

  • instrucciones DML que hacen referencia a vistas locales con particiones, vistas distribuidas con particiones o tablas remotas.
  • instrucciones INSERT que contienen una instrucción EXECUTE.
  • predicados a texto completo no están permitidos en la cláusula de salida cuando el nivel de compatibilidad de base de datos se establece en 100.
  • La cláusula OUTPUT INTO no se puede utilizar para insertar en una vista, o la función de conjunto de filas.
  • Una función definida por el usuario no se puede crear si contiene una cláusula OUTPUT INTO que tiene una tabla como su objetivo. "
Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top