Tipos de datos Automáticos

Hola:
¿Sabes si es posible crear un tipo de datos de una tabla como automático?
Me gustaría que como en access yo no me tuviera que preocupar de rellenar el código primario, de modo que este se implemente sólito

5 Respuestas

Respuesta
1
Si puedes usar lo que en Oracle
Llamamos una secuencia
Para esto debes crear la secuencia en la base de datos
ej:
Create sequence produc. contador_seq
START WITH 0
INCREMENT BY 1
Minvalue 0
Maxvalue 9999
Nocache
NOCYCLE
Noorder
Cada vez que necesites el valor siguiente debes
usar el siguiente comando en form, report o sql
select contador_seq.nextval into :pro_enc_traslado_depto.no_documento
from dual;
Debes tomar en cuenta que esto
No es muy usado, solo en el caso de
Secuencias de números que no tienen
Mucho control
Ya que el caso de documentos
Contables este consecutivo
Se puede perder
Porque este cambia con el hecho de hacer un select en
sql aunque no se asigne a ningún documento.
Resumiendo solo debes usarlo
En caso de consecutivos que
No tengan algún tipo de auditoria y se controle el seguimiento de documentos.
Disculpa por la tardanza pero
Tenia un problema con el browser de todoexpertos y no me dejaba enviar respuestas.
Respuesta
1
Si, pero no. Es decir, no existe un tipo de datos como el autonumérico de access, pero si existe un objeto, llamado secuencia (sequence) que sirve para emularlo.
En principio es muy sencillo de usar. Vete a tahiti. Oracle.com y pon en el buscador sequences, ahí te aparece todo lo que necesites saber sobre ellas y, lo que es más importante, el código para poder usarlas como autonumérico.
Respuesta
1
Puedes crear un trigger en la tabla para que con cada insert busque una secuencia (sequence) en la base de datos y obtenga el ID.
Cuando el valor es por defecto una constante puedes agregar la clausula default al momento de crear el campo de la tabla.
Ejemplo:
Create table tabla
( id_tabla number not null default 1,
no_tabla varchar2(1000) default 'Nombre registrado');
Saludos
Diego.
No olvidar cerrar la pregunta.
Gracias Diego esa solución la conocía pero intentaba saber si existía un tipo de datos como podría ser number que hiciera lo mismo que el sequence co nel trigger. Como lo que me has dicho es la mejor solución te doy un excelente.
Gracias de nuevo
Respuesta
1
Esto lo puedes hacer en Oracle por medio de una secuencia.
Create sequence ...
Es un objeto que devuelve valores numéricos con unas características determinadas (puedes ver la sintaxis completa en el manual)
Luego en la tabla puedes crear un trigger que al insertar tome el siguiente valor de la secuencia creada anteriormente.
Create trigger ...
Para leer el siguiente valor disponible se utiliza la sentencia "SELECT nombre_de_secuencia.NEXTVAL from DUAL;"
Respuesta
1
Imposible... esto debes definirlo si o si en tu modelo de datos. Luego puedes convertirlo a otro tipo de dato en el código...
;=)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas