Hola de nuevo:

a mi tambien me da el mismo error en V5R2 con el ultimo acumulativo
(es el C5263520)

He comprobado que el error SQL0372 no se da si la tabla se crea a
partir de una sentencia CREATE TABLE con el ALTER TABLE posterior.

Con este ejemplo IBM nos viene a decir que: "Los mundos SQL y DDS no
se deben mezclar" ya que cada vez se muestran más incompatibles.....

Salu2

te copio el log:

CREATE TABLE AJUT400.SHIPMENTS (CAMPO1 INT NOT NULL WITH DEFAULT,
CAMPO2 CHAR (50 ) NOT NULL WITH DEFAULT)

Tabla SHIPMENTS en AJUT400 creada pero no se ha podido registrar por diario

ALTER TABLE AJUT400.shipments ADD COLUMN campo INT
GENERATED ALWAYS AS IDENTITY
(START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO
CYCLE NO ORDER CACHE 20)

Se ha completado la operación ALTER para la tabla SHIPMENTS en AJUT400.

INSERT INTO AJUT400.SHIPMENTS (CAMPO1, CAMPO2)
VALUES(21, 'Manual de SQL')

1 fila(s) insertada(s) en SHIPMENTS en AJUT400



El 13/01/06, Jordi Parera<[EMAIL PROTECTED]> escribió:
> Muchas Gracias por tu interés,
>
> Estamos en V5R2M0, el nivel de PTF es C5123520, si no me equivoco la última.
>
> El ID de mensaje . . . . : SQL0372, intento alterar la tabla desde STRSQL.
>
> La DDS no tiene nada de especial, creo
>
> A*****************************************************************
>
> A* CAPSALERA ENVIAMENTS *
>
> A*****************************************************************
>
> A
>
> A R RSHIPMENTS
>
> A SHIPID 7 0 COLHDG('SHIPID')
>
> A SHIPNUMBER 20A COLHDG('SHIPNUMBER')
>
> A SHIPTITLE 30A COLHDG('SHIPTITLE')
>
> A SHIPTYPEID 3 0 COLHDG('SHIPTYPEID')
>
> A STATUSID 3 0 COLHDG('STATUSID')
>
> A STATUS 3 0 COLHDG('STATUS')
>
> A DATEOPEN L COLHDG('DATEOPEN')
>
> A DATFMT(*EUR)
>
> A TIMEOPEN T COLHDG('TIMEOPEN')
>
> A TIMFMT(*EUR)
>
> A DATECLOSE L COLHDG('DATECLOSE')
>
> A DATFMT(*EUR)
>
> A TIMECLOSE T COLHDG('TIMECLOSE')
>
> A TIMFMT(*EUR)
>
> Jordi
>
>
>
> ----- Original Message -----
> From: <[email protected]>
> To: <[email protected]>
> Sent: Thursday, January 12, 2006 7:23 PM
> Subject: Re: Campo autoincremental
>
>
> Hola:
>
> Para que ayudarte mejor te pediriía que enviarses las DDS del archivo
> o un ejemplo. Tambien conocer que version de OS400 utilizas e incluso
> en nivel de PTFs que tienes instalado e incluso el CPF de error (que
> no has incluido), son datos importantes para buscar soluciones.
>
> Ya sabes: una pregunta con mucha información, suele obtener una mejor
> respuesta.
>
> Te puedo decir que los campos autoincrementales solo se pueden crear
> desde SQL y te diria que desde hace varias versiones las DDS no han
> recibido ninguna mejora, y no creo que esta tendencia vaya a cambiar
> en el futuro.
>
> Salu2
>
> El 12/01/06, Jordi Parera<[EMAIL PROTECTED]> escribió:
> >
> >
> >
> > Hola Foro,
> >
> > Estoy intentado crear un fichero con un campo autoincremental vía DDS,
> creo
> > que es imposible, me lo podrían confirmar.
> >
> > Mediante SQL ningún problema, aunque no me gusta excesivamente tener
> > ficheros sin DDS.
> >
> > Me he encontrado con una situación como mínimo sorprendente, si creo un
> > fichero vía SQL y posteriormente intento añadir un campo autoincremental
> con
> > una sentencia de este estilo:
> >
> > ALTER TABLE Fichero ADD COLUMN campo INT
> >
> > GENERATED ALWAYS AS IDENTITY
> >
> > (START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO
> >
> > CYCLE NO ORDER CACHE 20)
> >
> > , me lo crea sin ningún problema. Pero si intento hacer lo mismo contra un
> > fichero creado con DDS, sin ningún campo clave me da el siguiente error:
> >
> > Mensaje . . . . : Sólo se permite una columna ROWID o IDENTITY para la
> tabla
> >
> > Fichero de Biblioteca.
> >
> > Causa . . . . . : La columna "campo" no puede crearse en la tabla
> "Fichero"
> >
> > de "Biblioteca" ya que la columna *N ya se ha definido. Puede haber como
> > máximo una
> >
> > columna IDENTITY y una columna ROWID que estén definidas en una tabla.
> >
> > Recuperación . : Elimine una de las columnas o bien cambie los atributos
> de
> >
> > modo que sólo una columna esté definida como ROWID o como una columna
> >
> > IDENTITY. Intente de nuevo la petición.
> >
> > Alguien me podría decir porque o si estoy haciendo algo incorrectamente,
> > muchas gracias a todos por vuestra ayuda.
>
>
> --
> Mi blog sobre as400
> http://www.ajut400.com
>
> __________________________________________________
> Forum.HELP400 es un servicio más de NEWS/400.
> (c) Publicaciones Help400, S.L. - Todos los derechos reservados
> http://www.help400.es
> _____________________________________________________
>
> Para darte de baja visita la siguente URL:
> http://coyote.combios.es/mailman/listinfo/forum.help400
>
>
> __________________________________________________
> Forum.HELP400 es un servicio más de NEWS/400.
> (c) Publicaciones Help400, S.L. - Todos los derechos reservados
> http://www.help400.es
> _____________________________________________________
>
> Para darte de baja visita la siguente URL:
> http://coyote.combios.es/mailman/listinfo/forum.help400
>


--
Mi blog sobre as400
http://www.ajut400.com

__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://coyote.combios.es/mailman/listinfo/forum.help400

Responder a