Power Builder - Se puede SELECT E INSERT a la ves?

 
Vista:

Se puede SELECT E INSERT a la ves?

Publicado por Claudia Toniolo (6 intervenciones) el 26/02/2003 19:21:43
Hola a todos, lamentablemente soy yo denuevo con algun problema jaja..
Necesito hacer un Select en una tabla, asi recuperar todos los campos de ese registro...Porque necesito cambiarle las claves a ese registro y la idea es insertar otro con los mismos datos en los campos PERO con las claves nuevas... para luego borrar en antiguo. La base de datos esta relacionada, asi es que obviamente no me deja hacer solo un update, porque arrojan errores de integracion. Cual seria la sintaxis para ejecutar ese select y luego el insert de los nuevos valores?? estoy ocupando PW8 y Oracle 9 y de la forma que lo tengo en una funcion, me arroja errores de sintaxis..
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:Se puede SELECT E INSERT a la ves?

Publicado por Ricardo (1957 intervenciones) el 26/02/2003 22:33:19
Porque mejor no realizas un update a esos registro con ello cambias el valor que necesitas cuando haces el reemplazo no pierdes el valor ya que puedes hacer la asignacion de la clave anterior mas algo extra.

UPDATE tabla
SET campo_1 = valor_1
WHERE (condicion donde puede ir anidado un select) ;

Si esta relacionada con llave foranea automaticamente se cambia en otras entidades de relacion, claro si es correcta esta relacion y su propiedad.

Saludos!
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

dos posibles soluciones

Publicado por milson cardona (613 intervenciones) el 27/02/2003 17:09:53
Un saludo especial desde COLOMBIA

NOTA: sea cual sea la forma en que lo vayas ha hacer debes de tener muy en cuenta que necesitas hacer una copia de los datos antes de... bien sea que hagas un export, o un cold backup, aunque yo te recomendaría que hagas ambos.

-primero que todo,deberás hacer una parte manual... debes exportar los registros de la tabla maestra(de la que dependen las otras tablas relacionadas), a un archivo de texto, luego cambia los datos que necesitas cambiar (te puedes ayudar con las herramientas de buscar y reemplazar del editor)

- importa el archivo donde tienes los datos nuevos

- luego haces un update al resto de tablas
UPDATE t2
SET campo1 = nuevo_valor,campo2=nuevo_valor....
WHERE condición

UPDATE t3
SET campo1 = nuevo_valor,campo2=nuevo_valor....
WHERE condición

-por último borras los datos que ya no te sirven de la tabla maestra
DELETE
FROM t1
WHERE condición

otra posible solución es que (no necesitas hacer nada manual)
-anotes los datos de los constraints
-los borras
- cambias los datos de todas las tablas con el UPDATE que veiamos en la idea anterior
- creas de nuevo los constrains.

espero que te de una idea de como comenzar, y recuerda que cualquier duda
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:dos posibles soluciones

Publicado por Claudia Toniolo (6 intervenciones) el 27/02/2003 17:53:12
No me resulta con ningun update.. las tablas "hijas" me reclaman integridad referencial... y el padre igual..
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:dos posibles soluciones

Publicado por loquito69 (208 intervenciones) el 27/02/2003 18:48:02
Amiga Claudia
Y porque no les quitas las relaciones y luego las vuelves a poner?
si eres rapida en power puedes crear una pequeña aplicacion que te liste toda la tabla padre con los codigos antiguos y un campo (que puede ser compute) donde coloques el nuevo codigo, luego con un FOR vas actualizando en las tablas hijas con el nuevo codigo y finalmente grabas con un select el nuevo codigo. despues vuelves a colocar las relaciones y listo. yo tuve un problema similar hace algun tiempo y lo resolvi de esta forma y no me demore mas de media hora. logicamente debes hacer esto cuando nadie este utilizando el sistema.
Saludos desde Peru 'cuna del verdadero pisco'
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:dos posibles soluciones

Publicado por milson cardona (613 intervenciones) el 27/02/2003 18:55:06
Un saludo especial desde COLOMBIA

hola claudia, si te fijas bien en mi comentario anterior, en la segunda solución que te planteo... te exprese que debes borrar los constraints(claves foraneas) de todas las tablas.... esto es precisamente para evitar que te saque el error de integridad.

espero tu comentario suerte
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