Oracle - Sobre el RowId y Secuencias

 
Vista:

Sobre el RowId y Secuencias

Publicado por Miguel (26 intervenciones) el 04/03/2004 11:47:42
Hola

¿Cómo se debe identificar un registro a través de un campo que se van introduciendo valores de una secuencia o con el RowId?Yo he creado unas secuencias para una tabla "Clientes" que tiene un campo "Nombre" y otro "Codigo".En el campo código voy metiendo los valores que genero con la secuencia y este valor lo relleno con ceros a la izquierda.Así el usuario también puede hacer búsquedas sólo con el código es lo que suelen recordar,lo que ocurre es que claro , hay un límite , el de la secuencia , en cambio con el RowID no y lo que quiero sabes es si a la hora de llenar un Grid (por ejemplo) se puede llenar una columna con el RowID y dejar de lado las secuancias.

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

RE:Sobre el RowId y Secuencias

Publicado por Byron (300 intervenciones) el 04/03/2004 20:32:06
Hay ciertas cosas que no se entienden como para ayudarte:

1. ¿Al hablar de secuencias hablas de objetos, es decir, creados con CREATE SEQUENCE?

2. Si estas hablando de secuencias estamos hablando de un campo numerico, ¿como es que intentas rellenarlos con ceros a la izquierda?

3. No se entiende eso del límite que tienes en el campo, Oracle tiene suficientes tipos de datos con longitudes suficientes.

El ROWID es un campo asignado por el motor de Oracle para identificar un registro único, no es algo que puedas modificar.

Saludos DTB
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:Sobre el RowId y Secuencias

Publicado por David (2 intervenciones) el 04/03/2004 22:19:53
El Rowid, es un identificador de la columna de la tabla, que Oracle se encarga de asignar, lo único que puedes hacer con el rowid es hacer consultas a través de él, pero en ningun momento modificarlo.
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:Sobre el RowId y Secuencias

Publicado por Miguel (1 intervención) el 05/03/2004 10:06:04
Hola

Sí , al hablar de secuencias me refiero a objetos creados , pero las secuencias tienen un límite , no ? aunque sea muy alto (pregunto...) , no es así.

Los rellenos con ceros a la izquierda porque el valor lo guardo en un campo VARCHAR2 , ¿no es correcto o adecuado?

Luego lo que quería saber es si para relacionar tablas utilizo el ROWID de la tabla CLIENTES y lo introduzco en un campo creado de las demás tablas a relacionar o introduzco el valor IDCLIENTE creado con la secuancia.

Gracias

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:Sobre el RowId y Secuencias

Publicado por Byron (300 intervenciones) el 05/03/2004 20:00:07
Como primera recomendacion olvida ese asunto del ROWID, respecto de las secuencias, el maximo valor de una secuencia puede tener 28 digitos, te parece poco?

Te recomiendo que uses un campo numerico, dado a que sera PK (porque será referencia a otra tabla) y Oracle encuentra números más rapido que caracteres, aunque la diferencia a inicios no se note, a la larga asi es, de paso consume menos en tamaño físico.

Para relacionar usas la clave primaria de tu tabla clientes, que como te recomiendo debe ser la secuencia generada en un campo numérico.

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