Página 1 de 1

VIEW, STORED FUNCTION

Enviado: 11 Fev 2020 12:35
por JoséQuintas
Aqui é apenas didático, o view deve ser criado com cuidado.

Criei um view, é algo como um apelido para um determinado comando, que fica armazenado no banco de dados
view1.png
Parece até uma tabela, mas é só o comando.

Ao olhar os dados desse VIEW
view3.png
O cadastro transformado em XML de NFE

VIEW, STORED FUNCTION

Enviado: 11 Fev 2020 12:47
por JoséQuintas
Ah... mas no Harbour uso minha função XmlTag() que facilita....
Então... criar no MySQL/MariaDB
function1.png
Agora alterar o view
function2.png
E voilá... gerado XML
function3.png

VIEW, STORED FUNCTION

Enviado: 11 Fev 2020 13:03
por JoséQuintas
A função se tornou uma STORED FUNCTION, uma função armazenada no servidor.
E assim dá pra criar FUNCTIONs, PROCEDUREs, pra tudo que precisar.

No caso daquele view, o select é de um único registro, senão apareceria pra toda tabela.

Como usaria isso no programa?

Código: Selecionar todos

conexão:Execute( "SELECT * FROM view_nfedestinatario" )
conexao:Execute( "SELECT XmlTag( 'algo', 'algo' )" )
conexão:Execute( "SELECT XmlTag( " + StringSql( arquivo->x ) + ", " + StringSql( arquivo->y ) + ")" )
A função fica disponível pra uso até no aplicativo.

Novamente reforçando o que já comentei por aqui:

Escolher linguagem de programação? Harbour, mobile, Linux, internet?
Que tal o SQL? E poder usar em qualquer linguagem de programação?

Sabe desenvolver pra Web? Mobile? IPHone? IOS?

Pois é... o aplicativo e o programador já ficam meio caminho andado....

O que falta? mostrar na tela, fazer um browse, etc... isso se torna mais fácil, nem precisa ser exatamente com Harbour.

E novamente reforçando:

Passar de DBF pra MySQL.... vale a pena?
DBF só guarda informação, MySQL é uma infinidade de recursos.

Nota:
Quando digo MySQL, é qualquer banco de dados cliente/servidor que tenha esses recursos.
Pode ser MySQL, MariaDB, PerconaServer, Oracle, PostgresSQL, SQL Server, Access, e muitos outros.
Isso é recurso do BANCO DE DADOS, não confunda isso com a conexão que vai ser usada (ADO, SQLMIX, hbMySql, etc).

VIEW, STORED FUNCTION

Enviado: 11 Fev 2020 13:42
por JoséQuintas
Pra referência, deixar aqui alguns comandos adicionais

Pra listar o que existe:

SHOW FUNCTION STATUS

SHOW PROCEDURE STATUS

pra mostrar a function/procedure

SHOW CREATE PROCEDURE nome