SQL Server - ayuda con insert into

 
Vista:

ayuda con insert into

Publicado por Juan (23 intervenciones) el 30/10/2006 23:57:09
Hola a todos:

Tengo dos tablas relacionadas en sql server. Al momento de insertar datos a una tabla relacionada, como puedo evitar que se graben filas duplicadas, ya que al momento de eliminar la fila duplicada me sale un mensaje de error que no me permite eliminar ninguna fila.

Gracias de antemano
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

RE:ayuda con insert into

Publicado por Isaías (3308 intervenciones) el 31/10/2006 17:42:03
Para evitar FILAS DUPLICADAS, debes crear una PRIMARY KEY o bien, un indice UNIQUE en esta tabla.
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

RE:ayuda con insert into

Publicado por Carlos E. Herrera (6 intervenciones) el 13/11/2006 19:45:43
Que tal Juan, te explico aunque relaciones las tablas puede que en algun momento insertes registros dupluicados aunque en campo de index no lo sea, para validar eso harias lo siguiente (yo lo hago asi) haria una funcion agregada donde comparararia cada campo con la tabla donde haria el select o el update
es decir, mas pedagogico

DIGAMOS QUE QUIERO HACER UN INSERT A UNA TABLA QUE CON TIENE 3 CAMPOS DE LOS CUALES UNO ES PRIMARY KEY, NOT NULL AND UNIKE, KEY_CAM, NOM_CAM, APE_CAM, Y LA TABLA SE LLAMA DATOS_USUARIOS

1) ERO (OJO0 YO LO HAGO ASI)

StrSQL = "SELECT NOM_CAM FROM DATOS_USUARIOS WHERE NOM_CAM = "
oVariable = ""
oVariable = "Carlos"
StrSQL = StrSQL & "' & TRIM$(oVariable) &"' AND APE_CAM = "
oVariable = ""
oVariable = "Herrera"
StrSQL = StrSQL & "'"& TRIM$(oVariable) &"'

RsLocal.open StrSQL, DbConnectionPrincipal, OpenDinamyc, LockOptimistic

IF Rslocal.EOF = True then

StrSQL = "INSERT INTO DATOS_USUARIOS (NOM_CAM, APE_CAM) VALUES"
StrSQL = StrSQL & "('"& TRIM$(oVariable) &"', '"& TRIM$(oVariable2)&"')"

ELSE

"LANZA ALGUNMENSAJE INDICANDO QL USUARIO QUE YA ESE RWEGISTRO EXISTE"

END IF

NOTA: RECUERDA QUE CUANDO ASIGNAS UN CAMPO AUTONUMERICO DE TIPO KEY UNIKE NOT NULL SQL SE ENCARGA DE GESTIONARLO A TI TE SERVIRA DE INDICE PARA FUTURAS OPERACIONES COMO DELETE O UPDATE ENTRE OTRAS.....

Espero te alla ayudado de algo cualquier duda hacermela llegar a mi EMILIO (E-Mail)
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