Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/01/2009, 05:46
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 7 meses
Puntos: 7
Respuesta: Crear tabla temporal con un collation especifico.

Bueno, en prmer lugar, muchisimas gracias por contestarme... estoy en el trabajo y estoy atascadisimo con esto...

Verás hice lo que me comentaste, probé con las dos formas y a la hora de hacer una consulta cruzada con esta tabla, me está dando el mismo mensaje:

He probado de estas formas
Código:
--Se que es este collate el que tengo que convertir, ya me fije en las tablas
CREATE TABLE #TBAREMOS_DETALLE (COD_ACTOMEDICO CHAR(12), DES_ACTOMEDICO NVARCHAR(300), IND_REQUIEREAUTORIZACION CHAR(1),
								[COD_ESTADO] [char](6) NULL,
								[IMP_PRECIO] [numeric](9, 2) NULL, [IND_VISIBLESOLICITUD] [CHAR](1),
								[IND_BAREMOEDITABLE] [CHAR](1), [DES_PROCEDENCIA] [VARCHAR](20) collate SQL_Latin1_General_CP1_CI_AS)



-- Y CON LA BASE DE DATOS DEFAULT:
CREATE TABLE #TBAREMOS_DETALLE (COD_ACTOMEDICO CHAR(12), DES_ACTOMEDICO NVARCHAR(300), IND_REQUIEREAUTORIZACION CHAR(1),
								[COD_ESTADO] [char](6) NULL,
								[IMP_PRECIO] [numeric](9, 2) NULL, [IND_VISIBLESOLICITUD] [CHAR](1),
								[IND_BAREMOEDITABLE] [CHAR](1), [DES_PROCEDENCIA] [VARCHAR](20) collate database_default)

Sin embargo, me sale exactamente el mismo error. Una vez he creado la tabla temporal. Ejecuto dos sentencias. Una de insercción que la hace correcta y la segunda de actualización, qeu es donde me falla.

Código:
--DROP TABLE #TBAREMOS_DETALLE
CREATE TABLE #TBAREMOS_DETALLE (COD_ACTOMEDICO CHAR(12), DES_ACTOMEDICO NVARCHAR(300), IND_REQUIEREAUTORIZACION CHAR(1),
								[COD_ESTADO] [char](6) NULL,
								[IMP_PRECIO] [numeric](9, 2) NULL, [IND_VISIBLESOLICITUD] [CHAR](1),
								[IND_BAREMOEDITABLE] [CHAR](1), [DES_PROCEDENCIA] [VARCHAR](20) collate SQL_Latin1_General_CP1_CI_AS)

--OK
INSERT INTO #TBAREMOS_DETALLE
		SELECT	SAM.COD_ACTOMEDICO, SAM.DES_ACTOMEDICO, SAM.IND_REQUIEREAUTORIZACION,
				SB.COD_ESTADO, 
				IMP_PRECIO, SAM.IND_VISIBLESOLICITUD,
				SAM.IND_BAREMOEDITABLE, '2' DES_PROCEDENCIA
				FROM SALUD.dbo.SI_BAREMOS_DETALLES SB
					RIGHT JOIN SALUD.dbo.SI_ACTOS_MEDICOS SAM 
						ON SB.COD_ACTOMEDICO= SAM.COD_ACTOMEDICO
						AND (SB.COD_BAREMO IS NULL or  SB.COD_BAREMO = @COD_BAREMO)

				WHERE (SAM.COD_GRUPO=@COD_GRUPO AND SAM.COD_ESPECIALIDAD_FACTURACION=@COD_ESPECIALIDAD
												 AND SAM.COD_SUBESPECIALIDAD_FACTURACION=@COD_SUBESPECIALIDAD) 
												 AND SAM.COD_ESTADO='ATOACT'  
												 AND (sb.cod_estado='BARACT' OR sb.cod_estado IS NULL)

--FALLA
		UPDATE #TBAREMOS_DETALLE     SET TBD.IMP_PRECIO=SBD.IMP_PRECIO,
										 TBD.DES_PROCEDENCIA='1'
									 FROM #TBAREMOS_DETALLE TBD
									 INNER JOIN SI_BAREMOS_DETALLES SBD
											ON SBD.COD_ACTOMEDICO=TBD.COD_ACTOMEDICO
											AND TBD.COD_ESTADO='BARACT'
									 INNER JOIN SI_BAREMOS SB
											ON  SBD.COD_BAREMO=SB.COD_BAREMO
											AND SB.IND_GENERAL='S'
											AND SB.COD_DELEGACION=@COD_DELEGACION
											AND FEC_COBERTURADESDE >= @FECHA_ACTUAL
											AND FEC_COBERTURAHASTA <= @FECHA_ACTUAL
¿Alguna idea?
__________________
Charlie.