Oracle - VALORES AUTONUMÉRICOS EN ORACLE

 
Vista:

VALORES AUTONUMÉRICOS EN ORACLE

Publicado por SARA (8 intervenciones) el 30/08/2005 21:10:21
HOLA!! TENGO UNA BASE DE DATOS EN ORACLE. EN LAS TABLAS YO TENIA PUESTO LA CLAVE COMO UN DATO DE TIPO STRING. AHORA ME HAN DICHO QUE USE LO DE LOS VALORES AUTONUMÉRICOS DE ORACLE Y MI PREGUNTA ES, ¿ TENGO OBLIGATORIAMENTE QUE CAMBIAR EL TIPO DE DATO DE MI TABLA A NUMÉRICO PARA PODER USARLOS? UN SALUDO
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:VALORES AUTONUMÉRICOS EN ORACLE

Publicado por Rodolfo Reyes (445 intervenciones) el 31/08/2005 17:46:53
No es necesario.

En oracle lo que se acostumbra para hacer un autonumerico es crear un "sequence"

CREATE SEQUENCE esquema.supplier_seq
MINVALUE 1
MAXVALUE 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 20;

Para saber el valor que toca mandas a ejecutar

valor:= supplier_seq.nextval;

Cada vez que ejecutas "supplier_seq.nextval" la secuencia se aumenta en 1.

Lo que puedes hacer, es crear un trigger sobre la tabla. El trigger se dispara al momento de hacer un insert. En este punto mandas a llamar a
"supplier_seq.nextval", capturas el numero en una variable y lo conviertes a caracter, para luego poner este string en tu campo.




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
sin imagen de perfil

RE:VALORES AUTONUMÉRICOS EN ORACLE

Publicado por Carlos Murillo (5 intervenciones) el 02/09/2005 11:06:11
Hola:

Si me haces caso no utilices eso si no es extremadamente necesario.

Te comento,Estube trabajando en una cosa parecida que necesitaba utilizar un codigo de empleado,y trate de usar una secuencia pero no me resulto bien xq en el momento que lanzas la secuencia claro esta ya no hay marcha atras ni se puede restar numero,asi que si de verdad quieres usar un numero como clave te recomendaria que usaras el buscar el maximo valor de ese campo y sumarle uno.Resulta muy probechoso si tienes tambien la opcion de eliminar usuario.

Un Saludo.Murillo
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