Principales respuestas
error de sintaxis en clausula OUTPUT

Pregunta
-
Muy buenas, estoy intentando hacer una consulta en un SQL Server 2000 en un servidor Windows server 2003
La consulta tiene esta inserción de la tabla tabla_documento a la tabla Documentofinal:
declare @tabla1 table (docu int, idorigen int)
/*Metemos los datos del documento en la tabla Documentofinal, y el numero iid va a la columna temporal. Luego en la tabla temporal @tabla1 metemos el iden del documento nuevo, y la iid correspondiente*/
insert Documentofinal (idObra, idTipo, idOriginador, numero, hoja, edicion, fechaEdicion, idEstado, idCalificacion, idArea, codigoOrigen, observaciones, fichero,col_temp)
output inserted.iden,inserted.col_temp into @tabla1
select obra , Tipo, Originador, numero, Hoja, Edicion, Fecha, Estado, Calif, Area, Codigo_origen, Observaciones, Fichero,iid
from tabla_documento d;La tabla documento final tiene un autonumérico "iden" y una columna "col_temp" que es el que pretendo extraer de inserted a @tabla1 para luego meterlo en otra tabla diferente.
El caso es que me da el siguiente error:
"Servidor: mensaje 170, nivel 15, estado 1, línea 6
Línea 6: sintaxis incorrecta cerca de 'output'."Y sin embargo, en mi ordenador portátil con SQL Server 2008 no me lo da. ¿Que error tiene mi clausula output?
Gracias por adelantado
Respuestas
-
Lo que sucede es que la instruccion OUTPUT ha estado disponible a partir de la version SQL Server 2005, por ende cuando la compilas en la version de SQL Server 2000 es una sentencia no reconocida.
"How many years can some people exist before they're allowed to be free" Bob Dylan Email: info@geohernandez.com Blog: geeks.ms/blogs/ghernandez
- Propuesto como respuesta alfred_magno jueves, 12 de julio de 2012 20:29
- Marcado como respuesta eduf32 viernes, 13 de julio de 2012 18:09
Todas las respuestas
-
Lo que sucede es que la instruccion OUTPUT ha estado disponible a partir de la version SQL Server 2005, por ende cuando la compilas en la version de SQL Server 2000 es una sentencia no reconocida.
"How many years can some people exist before they're allowed to be free" Bob Dylan Email: info@geohernandez.com Blog: geeks.ms/blogs/ghernandez
- Propuesto como respuesta alfred_magno jueves, 12 de julio de 2012 20:29
- Marcado como respuesta eduf32 viernes, 13 de julio de 2012 18:09
-
es correcto, como dice geovanny, claro que corre en tu version 2008, esta opcion fue implementada a partir de la version 2005, siginifica que no tiene soporte para 2000,
Saludos
-
-
Pues de una forma tan fácil y simple como SQL Server 2008 no, lo que tocaria es que en una instruccion aparte guardes los valores y los mandes a insertar a la tabla destino, pero al final no tienes en SQL 2000 el beneficio que la instrucción compacta OUTPUT te da.
"How many years can some people exist before they're allowed to be free" Bob Dylan Email: info@geohernandez.com Blog: geeks.ms/blogs/ghernandez
-
-