Pessoal alguem conhece uma maneira rapida de copiar o registro da tabela pra ela mesma, alterando apenas um campo ?
Olá, Existe o buffer-copy, mas teria que utilizar uma temp-table como auxiliar. DEFINE TEMP-TABLE tt-cliente LIKE cliente. FIND cliente NO-LOCK WHERE cliente.cdn_cliente = 1. BUFFER-COPY cliente TO tt-cliente. <<laço>> CREATE cliente. BUFFER-COPY tt-cliente EXCEPT cdn_cliente TO cliente ASSIGN cliente.cdn_cliente = i. <<fim-laço>> Dessa forma deixa claro o código, porém é necessário verificar utilizando o ETIME. At., Rodrigo
Só complementando, podemos usar o BUFFER-COPY também para duas tabelas do mesmo_banco/bancos_diferentes, abaixo um exemplo: DEFINE BUFFER b-ext-per-custo FOR ext-per-custo . FOR EACH ext-per-custo WHERE ext-per-custo.cc-codigo = c-custo-ini NO-LOCK : FIND FIRST b-ext-per-custo SHARE-LOCK WHERE b-ext-per-custo.cc-codigo = c-custo-fim AND b-ext-per-custo.periodo = ext-per-custo.periodo AND b-ext-per-custo.mo-codigo = ext-per-custo.mo-codigo NO-ERROR. IF NOT AVAIL b-ext-per-custo THEN DO: CREATE b-ext-per-custo. ASSIGN b-ext-per-custo.cc-codigo = c-custo-fim . BUFFER-COPY ext-per-custo EXCEPT cc-codigo TO b-ext-per-custo. END. ELSE DO: ASSIGN b-ext-per-custo.mo-codigo = ext-per-custo.mo-codigo b-ext-per-custo.periodo = ext-per-custo.periodo b-ext-per-custo.char-1 = ext-per-custo.char-1 b-ext-per-custo.char-2 = ext-per-custo.char-2 b-ext-per-custo.dec-1 = ext-per-custo.dec-1 b-ext-per-custo.dec-2 = ext-per-custo.dec-2 b-ext-per-custo.int-1 = ext-per-custo.int-1 b-ext-per-custo.int-2 = ext-per-custo.int-2 b-ext-per-custo.log-1 = ext-per-custo.log-1 b-ext-per-custo.log-2 = ext-per-custo.log-2 b-ext-per-custo.data-1 = ext-per-custo.data-1 b-ext-per-custo.data-2 = ext-per-custo.data-2 b-ext-per-custo.check-sum = ext-per-custo.check-sum . REPEAT i-cont = 1 TO 6: ASSIGN b-ext-per-custo.custo-medio[i-cont] = ext-per-custo.custo-medio[i-cont] b-ext-per-custo.custo-prev[i-cont] = ext-per-custo.custo-prev[i-cont] b-ext-per-custo.custo-total[i-cont] = ext-per-custo.custo-total[i-cont] b-ext-per-custo.custo-pad[i-cont] = ext-per-custo.custo-pad[i-cont] . END. END. END. Abb, Fernanda