Le has puesto GENERATED BY DEFAULT. Esto hace que solo calcule el valor
incremental si no se informa el campo al hacer la inserción, lo cual
creo que no se puede hacer en rpg (en sql se hace informando la lista
de campos informados: 'insert into f (campo, campo2) values...').
Para que te coja en el write el valor autoincremental, cambia el
GENERATED BY DEFAULT por GENERATED ALWAYS
Nota: con 'GENERATED ALWAYS' aún se puede informar el valor de la clave
en sql, informando la claúsula 'OVERRIDING SYSTEM VALUES' en la
sentencia insert.
jorge escribió:
Hola:
Pongo un ejemplo:
La tabla la creo con esta instrucción:
CREATE TABLE JJJORGE.TABLA1(
AutoIncrem BIGINT GENERATED BY DEFAULT AS IDENTITY(
START WITH 1 INCREMENT BY 1
MINVALUE 1 NO MAXVALUE NO CYCLE NO ORDER CACHE 20),
NUMERO NUMERIC(6, 0) NOT NULL DEFAULT 0)
El cuerpo del programa en RPG es el siguiente:
H DECEDIT('0,') DATEDIT(*DMY/)
FTABLA1 UF A E K DISK RENAME(TABLA1:RTABLA1)
D X S 3S 0 INZ(0)
C Eval x = 0
C DoW ( X < 100 )
C Eval x = x + 1
C Eval numero = x
C Write RTABLA1
C EndDo
C Eval *InLr = *Off
C Return
Y el resultado es que el campo autoincremental está a 0 en todos los
registros.
¿Me puede ayudar alguien?
Gracias,
-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]En nombre de alex martinez
Enviado el: martes, 24 de mayo de 2005 14:43 p.m.
Para: [email protected]
Asunto: Re: [Help400] Write en ILE-RPG con campos autoincrementales
Hola:
yo lo he probado esto en V5R2 y funciona sin problemas.
¿no hay ninguna anotacion en el log?
CREATE TABLE ALEX/AJUT400 (CODIGO BIGINT
GENERATED BY DEFAULT AS IDENTITY (START WITH 1,
INCREMENT BY 1
MINVALUE 1 NO MAXVALUE NO CYCLE NO ORDER CACHE 20) not null,
DESCRI CHAR (50 ) NOT NULL WITH DEFAULT)
c/exec sql
c+ INSERT INTO ALEX/AJUT400 (DESCRI) VALUES('http://www.ajut400.com')
c/end-exec
On 5/24/05, jorge <[EMAIL PROTECTED]> wrote:
Hola:
¿Alguien ha probado a grabar un registro de una tabla con un campo
autoincremental desde RPG-ILE?
Lo he probado y con la siguiente definición de campo no me graba nada.
AutoIncrem BIGINT GENERATED BY DEFAULT AS IDENTITY(
START WITH 1 INCREMENT BY 1
MINVALUE 1 NO MAXVALUE NO CYCLE NO ORDER CACHE 20)
Saludos
__________________________________________________
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.
© 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.
© 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
--
Saludos.
Fernando Pérez
Cerámica Saloni. Dpto. Sistemas
|
begin:vcard
fn;quoted-printable:Fernando P=C3=A9rez
n;quoted-printable:P=C3=A9rez;Fernando
org:;Sistemas
email;internet:[EMAIL PROTECTED]
tel;work:Ext. 627
x-mozilla-html:TRUE
version:2.1
end:vcard