Como transformar em SQL?

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Como transformar em SQL?

Mensagem por asimoes »

Pessoal,

Alguém sabe como transformar o comando abaixo em SQL UPDATE

Código: Selecionar todos

REPLACE APH04->Nr_Seq WITH StrZero( APH04->( RecNo() ) + 1, 6) ALL
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como transformar em SQL?

Mensagem por JoséQuintas »

Tem campo incremental na tabela?

UPDATE tabela set campo = LPAD( outrocampo + 1, 6, '0' )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Como transformar em SQL?

Mensagem por alxsts »

Olá!

Para MariaDb 10.2 ou superior, veja
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Como transformar em SQL?

Mensagem por asimoes »

alxsts escreveu:Olá!

Para MariaDb 10.2 ou superior, veja
Ainda estou em fase de transformação dos dbfs usando querys e depois migrar para o MariaDB, e pra isso estou usando o driver oledb da sybase ads, nesse caso tenho uma rotina que o campo Nr_Seq é feito o replace com recno() sequencial, é uma tabela com registros temporários, após o uso é feito um zap ou delete table agora, porque no ads não funciona o truncate, mas isso deve se resolver quando migrar a base pro mariadb
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Como transformar em SQL?

Mensagem por asimoes »

JoséQuintas escreveu:UPDATE tabela set campo = LPAD( outrocampo + 1, 6, '0' )
Não funcionou no meu programa de testes
2020-02-16 09_11_03-Teste ADS.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Como transformar em SQL?

Mensagem por asimoes »

Consegui produzir um select com a sequencia, mas o update não sei como fazer

cSql := "SELECT RIGHT('000000' + CONVERT( CONVERT( NR_SEQ, SQL_INTEGER ) + ROWNUM() - 1, SQL_VARCHAR),6) AS SEQUENCIA FROM APH04 A"
2020-02-16 13_14_14-Teste ADS.png
2020-02-16 13_14_14-Teste ADS.png (10.39 KiB) Exibido 3360 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Como transformar em SQL?

Mensagem por asimoes »

Pensando bem, eu só preciso do select que já resolveu, o campo pode ficar nulo
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder