Creación de tabla

inmadgm
01 de Marzo del 2005
Hola!!
¿cómo se crea una tabla para que el id vaya aumentando de uno en uno sin tener que darle un valor en el insert?

jc3000
01 de Marzo del 2005
De ninguna manera, eso no existe en Orakle.
Te puedes crear un trigger BEFORE INSERT sobre esa tabla en el saques el NEXTVAL de una secuencia y lo pongas en el ID.

SIGUIENTE ¡ ¡ ¡ ¡ ¡ ¡ ¡

inmadgm
01 de Marzo del 2005
Y crear alguna alguna secuencia e indicarsela en el insert?

pepelu
01 de Marzo del 2005
CREATE SEQUENCE log_id_seq INCREMENT BY 1 START WITH 1 MAXVALUE 99999999 MINVALUE 1 CYCLE NOCACHE ;

Create or Replace TRIGGER TRBIU_log
Before Insert or Update on log
For Each Row
BEGIN
IF INSERTING THEN
SELECT log_id_seq.NEXTVAL INTO :NEW.log_ID FROM DUAL ;
END IF ;
END ;
/

inmadgm
01 de Marzo del 2005
Había probado:
create sequence id_gerentes start with 1 increment by 1;
create table gerentes (
id_gerente number(8) primary key,
nombre_apellidos varchar2(200),
telefono_gerente varchar2(9),
mail_gerente varchar2(60)
);

insert into gerentes values(id_gerentes,'Luis Fernández','954627384','[email protected]');
insert into gerentes values(id_gerentes,'Francisco

Rodríguez','954627333','[email protected]');
insert into gerentes values(id_gerentes,'Inma Domínguez','954617384','[email protected]');
insert into gerentes values(id_gerentes,'Paco Martinez','954637384','[email protected]');
esto pero me da un error en los insert:

SQL> insert into gerentes values(id
s');
insert into gerentes values(id_gere
*
ERROR at line 1:
ORA-00984: column not allowed here

¿no se puede hacer así?

inmadgm
01 de Marzo del 2005
Todo resuelto!!! Me faltaba indicarle .nextval al nombre de la secuencia.
Gracias

inmadgm
01 de Marzo del 2005
Por cierto , que hace CYCLE NOCACHE en la creación de secuencia?

Manuel
01 de Marzo del 2005
Estorbar