FoxPro/Visual FoxPro - insert into, pack, set deleted on

 
Vista:

insert into, pack, set deleted on

Publicado por Ángel Isorna (135 intervenciones) el 30/08/2004 11:56:43
Hola a todos:

Estoy intentando dar altas con INSERT INTO en tablas con clave principal y SET DELETED ON, y me da error si encuentra algún marcado para borrado con clave igual a la que intento insertar.
Mi pregunta es la siguiente:¿Cómo resolvéis esta situación?
1.- Poniendo set deleted off y comprobando si existe esa clave y si es cierto en vez de insertar reemplazar valores y desmarcar para borrado.
2.- Utilizando PACK antes de cada INSERT INTO
3.- ¿Se hace de otra manera?

Muchas gracias por adelantado.
Ángel.
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:insert into, pack, set deleted on

Publicado por Gilberto (122 intervenciones) el 30/08/2004 16:20:21
Bien, como creaste una llave de tipo unico o principal, el no te deja insertar registros cuyo campo llave ya existe, asi esten borrados de manera logica, entonces puedes hacer lo que dices, cualquiera de las dos estaria bien, o colocarle a la tabla un indice normal, para que te deje insertar registros asi exista el campo llave, pero debes tener en cuenta siempre verificar que por lo menos exista una sola vez el registro activo.
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:insert into, pack, set deleted on

Publicado por saul (362 intervenciones) el 30/08/2004 16:20:40
en tu llave principal pon esto en filter
NOT DELETED()
y veras que los borrados no los toma en cuenta..

bye
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:insert into, pack, set deleted on

Publicado por Roman Suazo (2723 intervenciones) el 30/08/2004 17:48:55
Tu primera opcion es logica y sirve. Ahora que sabes como usar el ON ERROR para atrapar errores lo puedesplicar en esta situacion, es decir, una vez que te das cuenta de que estan repetidos los registros, buscas el registro repetido y lo RECICLAS, es decir, le quitas el marcado como borrado y le actualizas los datos con lo que quieres asi
el proceso es ms rapido en vez de buscarlo primero (ya que la mayoria de los registros no van a estar repetidos). Lo de reciclar es opcional, en caso que quieras conservar registro "borrados".
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