Clipper On Line • Ver Tópico - MariaDb 10.5

MariaDb 10.5

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

MariaDb 10.5

Mensagempor asimoes » 25 Jun 2020 11:24

â–º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 de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

MariaDb 10.5

Mensagempor Itamar M. Lins Jr. » 25 Jun 2020 11:43

Ola!
Isso é bom para quem usa alguma linguagem com IDE, tipo Lazarus...
Para nós harboreanos é sempre cada um por si. Se precisar adicionar algum parâmetro no drive do Harbour para usar essas funcionalidades, quem é que vai fazer ?
Tá froids...

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

MariaDb 10.5

Mensagempor JoséQuintas » 25 Jun 2020 12:26

Sei lá se não tô entendendo as mudanças, mas me pareceram correções.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

MariaDb 10.5

Mensagempor asimoes » 25 Jun 2020 13:39

Tem novidade sim, uma é retornar o rowid quando faz um insert

INSERT ... RETURNING

É só olhar o changelog
DELIMITER |
CREATE FUNCTION f(arg INT) RETURNS INT
    BEGIN
       RETURN (SELECT arg+arg);
    END|

DELIMITER ;

PREPARE stmt FROM "INSERT INTO t1 SET id1=1, animal1='Bear' RETURNING f(id1), UPPER(animal1)";

EXECUTE stmt;
+---------+----------------+
| f(id1)  | UPPER(animal1) |
+---------+----------------+
|       2 | BEAR           |
+---------+----------------+
â–º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 de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

MariaDb 10.5

Mensagempor asimoes » 25 Jun 2020 13:53

Itamar M. Lins Jr. escreveu:Ola!
Isso é bom para quem usa alguma linguagem com IDE, tipo Lazarus...
Para nós harboreanos é sempre cada um por si. Se precisar adicionar algum parâmetro no drive do Harbour para usar essas funcionalidades, quem é que vai fazer ?
Tá froids...

Ué, tá na documentação, além do changelog

https://mariadb.com/docs/reference/cs10.5/sql-statements/#cs10-5-sql-statements
â–º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 de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

MariaDb 10.5

Mensagempor Fernando queiroz » 25 Jun 2020 21:59

asimoes escreveu:Tem novidade sim, uma é retornar o rowid quando faz um insert

INSERT ... RETURNING

É só olhar o changelog
DELIMITER |
CREATE FUNCTION f(arg INT) RETURNS INT
    BEGIN
       RETURN (SELECT arg+arg);
    END|

DELIMITER ;

PREPARE stmt FROM "INSERT INTO t1 SET id1=1, animal1='Bear' RETURNING f(id1), UPPER(animal1)";

EXECUTE stmt;
+---------+----------------+
| f(id1)  | UPPER(animal1) |
+---------+----------------+
|       2 | BEAR           |
+---------+----------------+


EU utilizava assim , mas dessa forma ja traz o retorno no mesmo comando

oServer:Execute(cQuery1+cQuery2)
oQuery1:=oServer:Execute("SELECT LAST_INSERT_ID()")
oQuery1:Fields( "LAST_INSERT_ID()" ):Value
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

MariaDb 10.5

Mensagempor JoséQuintas » 26 Jun 2020 01:38

Eu coloquei na minha classe:

   ::ExecuteCmd( cSQL )
   Rs := ::ExecuteCmd( "SELECT LAST_INSERT_ID()" )
   nValue := Rs:Fields( 0 ):Value
   IF ValType( nValue ) == NIL
      nValue := 1
   ENDIF
   Rs:Close()


No uso:

:QueryCreate()
:QueryAdd( "campo", valor )
:QueryAdd( "campo", valor )
nId := :QueryExecuteInsert( "tabela" )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

MariaDb 10.5

Mensagempor asimoes » 26 Jun 2020 09:18

JoséQuintas escreveu:Eu coloquei na minha classe:


Agora tem sintaxe nova com essa finalidade no select, e com a vantagem de retornar mais de uma coluna
â–º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 de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

MariaDb 10.5

Mensagempor asimoes » 26 Jun 2020 10:13

â–º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 de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes




Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro