SQL - Insert into ? select campo lectura

 
Vista:

Insert into ? select campo lectura

Publicado por Bea (1 intervención) el 15/04/2009 10:45:50
Buenos días,

Necesito hacer un insert a una tabla que el campo Id es un pk, int, not null de solo lectura.
La sentencia select ya la tengo pero no puedo insertar los datos porque obtengo un mensaje de error.
Este seria el código utilizando el id:

insert into dbo.alm_clt_int_abonosutilizados_test
(id,idcentroabono,centroabono,abono,fecha,valorTTC,usuario,pc,tipo,ticketchecked,idcentrochecked,centrochecked)
SELECT
'',
T.SIT_CODE,
S.NOM,
R.BLE_NUM,
GETDATE(),
R.BLR_MT,
'ADMINISTRADOR',
'10.228.154.129',
'C',
'ABONO ANTIGUO',
'000',
'Central'
FROM
SITE AS S RIGHT OUTER JOIN
T_BL_ENTETE AS T ON S.CODE = T.SIT_CODE RIGHT OUTER JOIN
T_BL_REG AS R ON T.BLE_NUM = R.BLE_NUM
WHERE
R.TRE_CD = '9'
AND T.KSI_NOID > -1
AND YEAR(T.BLE_DT)<=2007
AND R.BLR_ACOAVO IS NULL
AND R.BLE_NUM NOT IN (SELECT ABONO FROM ESCENPPPSW1.INTRANET.dbo.alm_clt_int_abonosutilizados)

Y el mensaje de error este:
"Impossible d'insérer une valeur explicite dans la colonne identité de la table 'alm_clt_int_abonosutilizados_TEST' quand IDENTITY_INSERT est défini à OFF."

Y este otro código sería sin utilizar el id en el insert:

insert into dbo.alm_clt_int_abonosutilizados_test
(idcentroabono,centroabono,abono,fecha,valorTTC,usuario,pc,tipo,ticketchecked,idcentrochecked,centrochecked)
SELECT
T.SIT_CODE,
S.NOM,
R.BLE_NUM,
GETDATE(),
R.BLR_MT,
'ADMINISTRADOR',
'10.228.154.129',
'C',
'ABONO ANTIGUO',
'000',
'Central'
FROM
SITE AS S RIGHT OUTER JOIN
T_BL_ENTETE AS T ON S.CODE = T.SIT_CODE RIGHT OUTER JOIN
T_BL_REG AS R ON T.BLE_NUM = R.BLE_NUM
WHERE
R.TRE_CD = '9'
AND T.KSI_NOID > -1
AND YEAR(T.BLE_DT)<=2007
AND R.BLR_ACOAVO IS NULL
AND R.BLE_NUM NOT IN (SELECT ABONO FROM alm_clt_int_abonosutilizados)

El mensaje de error cambia:
"Dépassement de capacité lors de la conversion de numeric au type de données varchar.
L'instruction a été arrêtée."

¿Alguna idea de cómo insertar estos datos en la tabla y que el id lo ponga automáticamente?

Muchas gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Insert into ? select campo lectura

Publicado por roger (93 intervenciones) el 15/04/2009 14:59:46
el primer mensaje se debe a que no puedes indicar el valor a insertar en una columna identity, pues este se llena solo, y el campo id es identity, debes hacer el insert como el segundo, ya el problema alli es como por el tipo de dato de alguna de las columnas que estas insertando, verifica los tipos de datos de las columnas y lo que estas insertando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar