VIEW, STORED FUNCTION

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

VIEW, STORED FUNCTION

Mensagem 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
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

VIEW, STORED FUNCTION

Mensagem 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
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

VIEW, STORED FUNCTION

Mensagem 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).
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

VIEW, STORED FUNCTION

Mensagem 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
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/
Responder