Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Problema INSERT INTO

Estas en el tema de Problema INSERT INTO en el foro de SQL Server en Foros del Web. Buenos días a todos, Os cuento mi problema. Quiero insertar una columna en una tabla de la base de datos. La tabla en la que ...
  #1 (permalink)  
Antiguo 17/03/2009, 02:30
 
Fecha de Ingreso: diciembre-2008
Mensajes: 16
Antigüedad: 15 años, 4 meses
Puntos: 0
Problema INSERT INTO

Buenos días a todos,

Os cuento mi problema. Quiero insertar una columna en una tabla de la base de datos. La tabla en la que quiero insertar la columna se llama Parque y su PK es cod_Parque. La tabla desde la que voy a insertar es IMPORTADA_Parque_UT y deseo insertar la columna WF_UT en otra con el mismo nombre en la tabla Parque, pero eso sí, cada WF_UT se debe corresponder por su cod_Parque. Es decir, cuando cod_Parque de IMPORTADA_Parque_UT es igual a cod_Parque de Parque --> insertar WF_UT desde la primera tabla a la segunda. Lo he escrito de la siguiente manera pero obtengo este error:
"No se puede insertar el valor NULL en la columna 'cod_Parque', tabla 'Gamesa_version_1.dbo.Parque'. La columna no admite valores NULL. Error de INSERT"

Código:
INSERT INTO Parque(WF_UT)
SELECT     IMPORTADA_Parque_UT.WF_UT
FROM         IMPORTADA_Parque_UT INNER JOIN Parque
ON IMPORTADA_Parque_UT.cod_Parque = Parque.cod_Parque
Agradezco la ayuda de antemano. Un saludo.
  #2 (permalink)  
Antiguo 17/03/2009, 04:24
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Problema INSERT INTO

Hola, o admites NULL o no admites NULL. El error está claro

-- Esto por si no quieres los NULL
INSERT INTO Parque(WF_UT)
SELECT IMPORTADA_Parque_UT.WF_UT
FROM IMPORTADA_Parque_UT INNER JOIN Parque
ON IMPORTADA_Parque_UT.cod_Parque = Parque.cod_Parque
AND IMPORTADA_Parque_UT.cod_Parque IS NOT NULL

-- Si quieres los NULL, cambia el campo de la tabla para que admita NULLS

Saludos
  #3 (permalink)  
Antiguo 17/03/2009, 06:32
 
Fecha de Ingreso: diciembre-2008
Mensajes: 16
Antigüedad: 15 años, 4 meses
Puntos: 0
Gracias por responder. Lo voy a probar aunque no hay ningún cod_Parque null (ni en una tabla ni en la otra), en ambas cod_Parque es la PK. Además lo que trato de insertar es WF_UT, en ningún momento cod_Parque, de ahí mi extrañeza al ver el mensaje de error.
Gracias de nuevo. Un saludo.

sigue sucediendo lo mismo...

Última edición por GatorV; 17/03/2009 a las 11:35
  #4 (permalink)  
Antiguo 17/03/2009, 11:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 6
Antigüedad: 15 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Problema INSERT INTO

Hola Arruman... te doy un consejito que a mi me ha servido. Quizás sea largo pero te va a funcionar seguro

Primero: borrá todos los key de la tabla que querés llenar, tratá de guardar los Scripts para poder crearlos luego.
Segundo: modificá la estructura de la tabla para que ese campo permita NULLs
Tercero: ejecutá tu script igual como lo estas haciendo para llenar la tabla
Cuarto: hacé un UPDATE para transformar todos los NULLs en cero o Blanco
Quinto: Volvé a crear los Key

Sexto: Enjoy your Live

Saludos desde Mendoza - Argentina
  #5 (permalink)  
Antiguo 22/04/2009, 09:59
 
Fecha de Ingreso: abril-2009
Mensajes: 1
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema INSERT INTO

Hola chicos,
yo estoy en el mismo problema, pero un poquitin más diferente, yo lo que estoy intentando es que al insertar los datos desde un CSV, me cree la columna "Fecha", y le ponga la fecha. Pero me hace lo primero, y en lo referente a lo segundo me parece el valor "NULL", he probado lo que arriba comenta el compañero pero no me funciona, llevo 2 dias machacando este tema y no encuentro la solucion a ver si me podeis echar un cable. Muchas y un saludo a todos.
Aqui teneis la consulta:

bulk insert Laboratorio1
from 'c:\bd_prueba\VSI_2_WDA09.04.09.csv'
with
(
codepage='raw',
fieldterminator =';',
rowterminator='\n',
DATAFILETYPE ='char'

)
go
ALTER TABLE [Laboratorio1]
ADD [Fecha] datetime
insert into Laboratorio1("Fecha") values (getdate())
select convert(varchar,Fecha,105) from Laboratorio1
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:26.