SGE SQL

Modificado em Fri, 02 Sep 2022 na (o) 03:52 PM

Resumo


Este artigo irá apresentar como criar uma consulta SQL utilizando a ferramenta do SGE, disponibilizar para os usuários e acompanhar a sua execução.



Introdução


Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional (base de dados relacional). Muitas das características originais do SQL foram inspiradas na álgebra relacional.


O SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM em San Jose, dentro do projeto System R, que tinha por objetivo demonstrar a viabilidade da implementação do modelo relacional proposto por E. F. Codd. O nome original da linguagem era SEQUEL, acrônimo para "Structured English Query Language" (Linguagem de Consulta Estruturada, em Inglês), vindo daí o fato de, até hoje, a sigla, em inglês, ser comumente pronunciada "síquel" ao invés de "és-kiú-él", letra a letra. No entanto, em português, a pronúncia mais corrente é letra a letra: "ésse-quê-éle".


A linguagem é um grande padrão de banco de dados. Isto decorre da sua simplicidade e facilidade de uso. Ela se diferencia de outras linguagens de consulta a banco de dados no sentido em que uma consulta SQL especifica a forma do resultado e não o caminho para chegar a ele. Ela é uma linguagem declarativa em oposição a outras linguagens procedurais. Isto reduz o ciclo de aprendizado daqueles que se iniciam na linguagem.


Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vários "dialetos" desenvolvidos por outros produtores. Essa expansão levou à necessidade de ser criado e adaptado um padrão para a linguagem. Esta tarefa foi realizada pela American National Standards Institute (ANSI) em 1986 e ISO em 1987.


O SQL foi revisto em 1992 e a esta versão foi dado o nome de SQL-92. Foi revisto novamente em 1999 e 2003 para se tornar SQL:1999 (SQL3) e SQL:2003, respectivamente. O SQL:1999 usa expressões regulares de emparelhamento, queries recursivas e gatilhos (triggers). Também foi feita uma adição controversa de tipos não-escalados e algumas características de orientação a objeto. O SQL:2003 introduz características relacionadas ao XML, sequências padronizadas e colunas com valores de auto-generalização (inclusive colunas-identidade).


Tal como dito anteriormente, embora padronizado pela ANSI e ISO, possui muitas variações e extensões produzidos pelos diferentes fabricantes de sistemas gerenciadores de bases de dados. Tipicamente a linguagem pode ser migrada de plataforma para plataforma sem mudanças estruturais principais.


Outra aproximação é permitir para código de idioma procedural ser embutido e interagir com o banco de dados. Por exemplo, o Oracle e outros incluem Java na base de dados, enquanto o PostgreSQL permite que funções sejam escritas em Perl, Tcl, ou C, entre outras linguagens.


Para clientes que utilizam o banco de dados relacional padrão SQL, seja ele da Microsoft, IBM, Oracle, etc... é possível  montar consultas altamente eficientes, disponibilizar aos usuários e o mesmo executar estas consultas gerando relatórios em formato HTML, EXCEL e TEXTO.


Basicamente, a ferramenta SGE SQL foi desenvolvida pensando em 3 etapas:


  1. Montagem do Comando SQL;
  2. Liberação de acesso para os usuários;
  3. Execução pelo usuário.



MNC047 - SGE SQL


A montagem do script SQL é feita através desta rotina, onde é parametrizado toda a consulta. Divimos esta rotina em funções para melhor poder explicar o funcionamento da montagem do script sql.



Logo acima, temos os botões das ações principais (destacado em vermelho) que são:

  • Novo: Criar uma nova consulta;
  • Carregar: Carregar uma consulta já gravada anteriormente;
  • Salvar: Gravar a consulta nova ou alterada;
  • Executar: Executar o script SQL;
  • Exportar: Tendo o resultado do comando "Executar", o resultado da consulta pode ser exportado para EXCEL, TEXTO ou ainda HTML.



MNC047 - SGE SQL - CONFIGURAÇÕES


Na aba "Configurações" (destacado em roxo), temos várias personalizações a serem aplicadas a consulta:



As configurações estão divididas em categorias conforme sua aplicação. Todas as configurações desta tela poderão ser salvas para posterior carga quando algum parâmetro for alterado. A tela possui as seguintes opções para carga e gravação das informações, que são executadas ao utilizar os botões na parte inferior da tela:


  • Carregar: Carrega as configurações salvas anteriormente;
  • Salvar: Salva as configurações da tela;
  • Padrão: Carrega as configurações com valores definidos pela Softdata.



Grupo de Informações: Seleção de Tabelas e Campos



Estas configurações irão influenciar na seleção de tabelas paras criação de scripts. Vale ressaltar que estes parâmetros apenas são utilizados quando uma tabela ou um campo for selecionado de forma rápida (duplo clique sobre a tabela ou o campo). 

Caso seja selecionado uma opção através do menu conforme descrito no capítulo Seleção de Tabelas, a opção selecionada no menu irá prevalecer sobre os parâmetros aqui definidos:


Nome Tabela: Este parâmetro indica de que forma o nome da tabela será levado para o script quando a tabela for selecionada. Aceita as seguintes configurações:

  • Tabela: Apenas o nome da tabela será levado para o script.
  • Banco + Tabela: Esta opção irá levar para o script o Database da tabela, o Schema da tabela e o Nome da Tabela. Exemplo: [Softdata].[dbo].[GE004]

Em ambos os casos os parâmetros funcionam em conjunto com a opção "Utiliza Alias Tabela" descrito mais abaixo.

    

Nome Campo: Este parâmetro indica de que forma o nome de um campo da tabela será levado para o script quando a campo for selecionado. Aceita as seguintes configurações:

  • Campo: Apenas o nome do campo será levado para o script. Nestes casos a parametrização do Alias não irá influenciar.
  • Tabela + Campo: Esta opção irá levar o nome da tabela precedido pelo nome do campo. Esta opção trabalha em conjunto com a opção "Utiliza Alias Tabela" descrito mais abaixo. Caso a opção de Alias estiver selecionada, o nome da tabela será o nome do alias da tabela. Exemplo: GE_UM.CD_UM


Caso a opção de alias não estiver selecionada, será utilizado o nome da tabela no banco. Exemplo: GE004.CD_UM

    

Utiliza Alias Tabela: Este parâmetro indica se será utilizado um alias para a tabela no momento de selecionar uma tabela ou um campo para o script. Caso esta opção esteja desabilitada, será levado para o script o nome da tabela definida no banco (Ex.: GE004). 


Caso a opção esteja habilitada, será levado o nome Dataflex com alias para a tabela (Ex.: GE_UM). Vale ressaltar que o alias da tabela vale tanto para a seleção de tabelas, como para a seleção de campos quando estiver selecionada a opção "Tabela + Campo" na seleção de campos.

  

Aplica Convert Data: Este parâmetro indica se será utilizado as configurações de Convert para campos do tipo data. O convert é utilizado quando selecionamos um campo do tipo Data para o script. A configuração de Convert é exemplificada em um capítulo a parte. Por padrão os campos do tipo Data são tratados internamente pela aplicação, não sendo necessário a aplicação do Convert. Eles devem ser utilizados apenas se a data estiver em um padrão no banco que o Dataflex não consiga resolver.


Aplica Convert Text: Este parâmetro indica se será utilizado as configurações de Convert para campos do tipo Text. O convert é utilizado quando selecionamos um campo do tipo text para o script. Dependendo da configuração do banco, os campos do tipo text não serão apresentados corretamente. Nestes casos deve-se utilizar o Convert para converter o campo para um formato Dataflex.



Grupo de Informações: Formatação Grid



Estas configurações permitem configurar a Grid onde são apresentados os resultados da execução do script.

    

Grid Zebrada: Este parâmetro fará com que a grid seja apresentada com as linhas de forma zebrada, com intercalação de cores.

    

Campos Texto Multilinha: Este parâmetro indica se os campos do tipo Text serão apresentados sem uma linha única na Grid ou então em várias linhas dentro da célula da linha.

     

   

Linha Horizontal: Este parâmetro indica de que forma serão formatadas as linhas horizontais da grid, permitindo linhas sólidas, tracejadas ou sem as linhas e divisão horizontal.

    

Linha Vertical: Este parâmetro indica de que forma serão formatadas as linhas verticais da grid, permitindo linhas sólidas, tracejadas ou sem as linhas e divisão vertical.


Botão Aplicar Configuração: Ao clicar neste botão, caso haja uma grid ativa na área de resultados do script, com exceção do parâmetro Campos Textos Multilinha as demais configurações serão aplicadas na consulta vigente. Caso não haja nenhuma consulta vigente não é ncessário clicar neste botão. Ao executar um script os parâmetros aqui informados serão automaticamente aplicados.



Grupo de Informações: Editor Script



Estas configurações serão aplicadas no editor de script.

   

SubGrupo de Informações: Texto

Estes parâmetros irão formatar o texto do editor, sendo possível as seguintes configurações:


Cor: Cor do texto digitado.

Negrito: Aplica o negrito na formatação do texto.

Itálico: Aplica o itálico na formatação do texto.


SubGrupo de Informações: Palavras Reservas 

Estes parâmetros irão formatar as palavras reservadas no texto do editor. As palavras reservadas são as que estiverem cadastradas como comandos na aba de Comandos. Permite as seguintes configurações:


Cor: Cor do texto dos comandos.

Negrito: Aplica o negrito na formatação do texto quando se tratar de um comando.

Itálico: Aplica o itálico na formatação do texto quando se tratar de um comando.

SubGrupo de Informações: Comentários 

Estes parâmetros irão formatar os comentários de texto do editor. Os comentários são identificados quando são precedidos pelos caracteres “ -- “. Permite as seguintes configurações:


Cor: Cor do texto do comentário.

Negrito: Aplica o negrito na formatação do texto para os comentários.

Itálico: Aplica o itálico na formatação do texto para os comentários.



Grupo de Informações: Editor



Estes parâmetros irão formatar o editor de script de forma global. Permite as seguintes configurações:


Cor de Fundo: Configura a cor de fundo do editor de texto.

Tamanho Fonte: Configura o tamanho da fonte do editor de texto.

 

Botão Padrão: Este botão irá carregar a formatação padrão do editor. As formatações padrão são fixadas pela Softdata e não podem ser alteradas.  

Botão Aplicar Configuração: Ao clicar neste botão, as configurações serão aplicadas na editor de script.



Grupo de Informações: Parâmetros do Banco



Estas configurações parametrizam informações necessárias para o banco no momento de selecionar os campos de tabelas para a criação de scripts. Vale ressaltar que estes parâmetros apenas são utilizados quando um campo for selecionado de forma rápida na aba de Seleção de Tabelas. Quando o comando for digitado manualmente, estas configurações não serão aplicadas.

    

Convert Data: Será utilizado quando for selecionado um campo do tipo Data na lista de campos. Este parâmetro trabalha em conjunto com o parâmetro Aplica Convert Data.   

Convert Texto: Será utilizado quando for selecionado um campo do tipo Text na lista de campos. Este parâmetro trabalha em conjunto com o parâmetro Aplica Convert Texto.



Grupo de Informações: Parâmetros para Login no Banco



Este grupo de parâmetros contém todas as informações necessárias para efetuar o login. Dependendo de como for configurado, é possível executar um script em um banco diferente do que está sendo utilizado no SGE.


Forma de Login: Indica de que forma será efetuado o login no banco. Basicamente indica de onde serão utilizadas as informações para conexão ao banco. Aceita as seguintes opções:


  • Login pelo Filelist: O Script irá utilizar as informações do arquivo INT da tabela para se conectar ao banco e o Database. Nestes casos a tabela constante no Filelist tem que obrigatoriamente ser uma tabela definida para um banco de dados. Apesar do sistema utilizar as informações do arquivo INT, é possível ainda pesquisar uma tabela em outro Database. Para isso, na linha de script deverá ser informado qual o database deverá ser utilizado. Por exemplo, caso o arquivo INT esteja apontando para um database chamado Softdata, na linha do script pode ser direcionado para um database de testes. 

Exemplo: Select CD_UM from [SoftdataTestes].[dbo].[Ge004].


  • Login com configurações Manuais: Nestes casos serão utilizadas as informações parametrizadas nesta tela para se conectar ao banco e ao database. Este tipo de configuração não utiliza o arquivo INT para acessar o banco. Todas as informações deverão ser prestadas manualmente nos campos abaixo. Para este tipo de configuração o Filelist também não importa. Como não são utilizadas as informações do arquivo INT, o Filelist pode estar apontando para uma tabela Dataflex.

    

Driver Login: Neste campo deverá ser informado o Driver para conexão ao banco de dados.   

Servidor: Neste campo deverá ser informado o caminho do servidor onde o banco está instalado.    

Database: Informe neste campo o nome do Database para abrir as tabelas. Para obter uma lista completa de todos os Database do servidor informado, clique no botão ao lado deste campo.  

Conexão Segura: Caso seja utilizado a conexão segura, o login ao banco será efetuado utilizando o usuário logado no windows. Nestes casos, não é necessário informar os campos Usuário e Senha, e mesmo que sejam informados, estes não serão utilizados. 

Usuário: Caso a opção de Conexão Segura não tenha sido habilitada, pode-se informar o usuário que será utilizado no momento da conexão.   

Senha: Caso a opção de Conexão Segura não tenha sido habilitada, pode-se informar a senha do usuário para conexão ao banco.


Observação: Caso não seja utilizada a Conexão Segura, todas as informações necessárias para logon são opcionais neste momento.  Caso alguma informação não tenha sido prestada nesta tela como por exemplo a senha, elas poderão ser informadas no momento da execução do script. Para isso será aberta uma tela onde poderão ser prestadas as informações para logon.





MNC047 - SGE SQL - CRIAÇÃO E EXECUÇÃO 


Para a tarefa de criação e execução de um script, a rotina MNC047 é dividade e 3 partes:   

  • Auxílio para criação de Script: Tabelas e Comandos (destacado em amarelo).  
  • Editor de Script: Digitatação dos comandos SQL (destacado em preto) 
  • Resultado da execução do Script: Resultado e Log de execução (destacado em azul).


Auxílio para Criação de Script



Esta área tem como objetivo auxiliar o usuário na criação de um script. Pelo fato de ser apenas um auxílio, não é obrigatório a utilização desta área. Nem o auxílio de tabelas, e nem o auxílio de comandos. Caso o usuário tenha um bom domínio dos comandos e tabelas a serem executados, o script pode ser digitado diretamente no editor de script. O auxílio está dividido em dois tipos: 

  • Tabelas 
  • Comandos

    

A aba de "Tabelas" poderá ser utilzada para adicionar tabelas para facilitar na montagem do script, sendo que para cada tabela adicionada serão apresentados seus campos. Diferentemente da consulta dinâmica, não é necessário gerar um relacionamento para que uma tabela seja adicionada na lista. Qualquer tabela poderá ser adicionada, contanto que seja uma tabela pertencente a um banco de dados. 


Não é possível adicionar uma tabela se a mesma estiver em banco Dataflex. O objetivo da lista de tabelas é apenas facilitar a busca de campos e nomes de tabelas para a montagem de script. Ou seja, não é obrigatório adicionar uma tabela para que a mesma seja referenciada no script. Trata-se apenas de uma facilidade, e não de uma obrigação. Caso se tenha conhecimento do nome dos campos e nome das tabelas, a mesma pode ser digitada diretamente na área de script. 


A adição ou eliminação de tabelas da lista é feita através dos botões Adicionar, Eliminar e Limpar.




Esta tela possui algumas funções para facilitar a adição das tabelas ou dos campos no script. Ao clicar com o botão direito do mouse sobre um campo, será apresentado o seguinte menu:



Script Select: Irá gerar um script para select do campo selecionado. Por exemplo, ao acionar esta opção sobre o campo CD_COND_PGTO, será gerado o seguinte script:

Select GE_CONDP.CD_COND_PGTO From GE009 GE_CONDP


Adicionar Campo no Script: Irá adicionar o nome do campo na digitação do script, na posição do cursor.

Adicionar Tabela + Campo no Script: Irá adicionar o nome da tabela e o nome campo na digitação do script, na posição do cursor


Ao clicar com o botão direito do mouse sobre uma tabela, será apresentado um menu com as seguintes opções:



Select *: Irá gerar um script com “*” para a tabela selecionada. Por exemplo, ao selecionar esta opção sobre a tabela GE_UM, será gerado a seguinte linha de script:


Select * From GE009 GE_CONDP


Select Todos os Campos: Esta opção irá gerar um select de todos os campos, porém mencionando todos os campos da tabela. Por exemplo, ao selecionar esta opção sobre a tabela GE_CONDP será criado o seguinte script:


Select GE_CONDP.Recnum,
       GE_CONDP.CD_COND_PGTO,
       GE_CONDP.DN_COND_PGTO,
       GE_CONDP.QT_DUPLICATAS,
       GE_CONDP.ID_BX_DUPL_ENT,
       GE_CONDP.TP_CONDICAO,
       GE_CONDP.TP_RATEIO_DESP,
       GE_CONDP.TP_RATEIO_IPI,
       GE_CONDP.TP_RATEIO_ICMS,
       GE_CONDP.PERC_RED_COMIS,
       GE_CONDP.QT_DUPL_DESCONT,
       GE_CONDP.NR_DIAS_FINAN,
       GE_CONDP.PERC_DESC_FINAN,
       GE_CONDP.VL_DUPL_00,
       GE_CONDP.QT_DIAS_DUPL_00,
       GE_CONDP.VL_DUPL_01,
       GE_CONDP.QT_DIAS_DUPL_01,
       GE_CONDP.VL_DUPL_02,
       GE_CONDP.QT_DIAS_DUPL_02,
       GE_CONDP.VL_DUPL_03,
       GE_CONDP.QT_DIAS_DUPL_03,
       GE_CONDP.VL_DUPL_04,
       GE_CONDP.QT_DIAS_DUPL_04,
       GE_CONDP.VL_DUPL_05,
       GE_CONDP.QT_DIAS_DUPL_05,
       GE_CONDP.VL_DUPL_06,
       GE_CONDP.QT_DIAS_DUPL_06,
       GE_CONDP.VL_DUPL_07,
       GE_CONDP.QT_DIAS_DUPL_07,
       GE_CONDP.VL_DUPL_08,
       GE_CONDP.QT_DIAS_DUPL_08,
       GE_CONDP.VL_DUPL_09,
       GE_CONDP.QT_DIAS_DUPL_09,
       GE_CONDP.VL_DUPL_10,
       GE_CONDP.QT_DIAS_DUPL_10,
       GE_CONDP.VL_DUPL_11,
       GE_CONDP.QT_DIAS_DUPL_11,
       GE_CONDP.VL_DUPL_12,
       GE_CONDP.QT_DIAS_DUPL_12,
       GE_CONDP.DE_USUARIO,
       GE_CONDP.DT_ULT_ALT,
       Convert(Varchar(10000),GE_CONDP.DE_COMPLEMENTO),
       GE_CONDP.TP_RATEIO_ST,
       GE_CONDP.TP_IMPOSTOS_AP,
       GE_CONDP.QT_DIAS_CORRID,
       GE_CONDP.VL_MIN_GER_TIT,
       GE_CONDP.PERC_DESC_COML,
       GE_CONDP.TP_TPAG
       From GE009 GE_CONDP

A vantagem deste tipo de ação é que, caso algum campo tenha a necessidade do comando Convert para apresentar a informação corretamente, o script já é gerado com o Convert automaticamente. O Convert é uma parametrização do sistema que foi mostrando o tópico anterior de Configurações.


Adicionar Tabela no Script: Irá adicionar o nome da tabela na digitação do script, na posição do cursor.

Adicionar Banco + Tabela no Script: Irá adicionar o nome do banco (Database) e o nome da tabela na digitação do script, na posição do cursor.


A aba de "Comandos" poderá ser utilizada para auxiliar o usuário nas sintaxes dos comandos para a criação de script. Nesta aba é apresentado uma lista de comandos, sua sintaxe e um resumo da função do comando. As ajudas são divididas em duas categorias:


  • Comandos: São os comandos SQL propriamene dito, juntamente com suas sintaxes. Na lista de comandos eles são representados pelo símbolo.
  • Modelos:  São modelos de script que poderão ser salvos e recuperados a partir desta lista em um script futuro. Na lista de comandos eles são representados pelo símbolo.


Todos os comandos e modelos podem ser parametrizado tanto pela Softdata como pelo cliente. O símbolo no início da lista indica se o comando foi parametrizado pela Softdata ou pelo cliente. Para editar um comando ou então adicionar um novo, o usuário irá utilizar o botão Editor no cabeçalho desta aba. Uma nova tela será aberta para esta finalidade:




O cadastro de comandos possui duas finalidades:


  • Utilizado como auxílio para criação de script;
  • Utilizado pelo editor de Script para destacar no texto os comandos. Maiores detalhes sobre a digitação de comandos no script estão detalhados na parte de Editor de Script mais abaixo.



Filtro para Seleção: Através do combo é possível selecionar apenas os modelos, apenas os comandos ou ambos.

Importar: Permite realizar o importação de scripts  externos.

Exportar: Permiter esportar os scripts ja existentes na lista de comandos.

Lista de Comandos: Apresenta uma lista com todos os comandos e modelos cadastrados. Ao dar um duplo clique sobre um comando, a sintaxe é carregada para o editor de script. É possível ter duas sintaxes cadastradas: Sintaxe Padrão e Sintaxe Específica. Caso o usuário tenha uma sintaxe específica, esta será a sintaxe utilizada, senão o programa carrega a sintaxe padrão para o editor.


Código: esse campo é gerado automaticamente, conforme for realizado o registro.

Origem: Esse campo é gerado automatico e é identificado conforme sua origem, se é via importação ou diretamente na rotina que será identificado como Cliente.

Tipo: Verifica qual o tipo de registro que está sendo criado se comando ou modelo.


Sintaxe Padrão: Sintaxe padrão de um comando ou modelo.

Sintaxe Específica: Caso o banco utilize uma sintaxe um pouco diferente (como no caso de sintaxes diferentes entre bancos diferentes), ou o usuário queira cadastrar uma sintaxe diferente, esta deve ser cadastrada neste campo.

Descrição: Apresenta um help da sintaxe ou modelo cadastrado. Utilizado apenas para consulta.


Após realizado o cadastro, sua apresentação na tela principal é da seguinte maneira, onde é possivel realizar o filtro pelos scripts como comando ou modelo:






Editor de Script



Esta área é utilizada para digitação do script a ser executado. Não existe limitação quanto ao tipo de script. Ou seja, qualquer script que o pacote do Dataflex consiga resolver, pode ser executado por aqui. No exemplo abaixo foi criado um script para listar a definição de uma tabela.



Por medida de segurança, os comandos que manipulam tabelas como Update, Delete, Create, Drop Table e Alter Table obedecem aos parâmetros de gravação e exclusão quando a tela é liberada para o usuário (Montagem de Menu de Opções). Ou seja, caso o usuário não tenha permissão para gravação nesta tela, os comandos Update e Insert não poderão ser executados.


Para facilitar a visualização de um script, as palavras reservadas do SQL (como os comandos por exemplo) e os comentários podem ter a cor diferenciada. Para que o editor formate estas palavras, são utilizados as seguintes infomações:


  • Cores: As cores e formatação do texto são definidas na aba de Configurações desta tela. 
  • Detecção de Palavras Reservadas:  As palavras reservadas são pesquisadas na tabela de lista de comandos cadastrados. Toda palavra que for encontrado na lista e cadastrado como Comando, serão destacados no texto
  • Detecção de Comentários:  Todo texto que vier após os caracteres ”- -” é considerado um comentário para o SQL. Esta regra é imposta pelo SQL, e não uma imposição do editor.


Para executar um script digitado, existem duas formas:


  • Teclando F5 dentro do editor de script
  • Utilizando o botão Executar no menu principal desta tela. Nestes casos não é necessário estar posicionado no editor.


Para executar um script, o editor pesquisa se existe algum texto marcado no editor. Caso tenha, apenas o texto marcado será executado, senão, todo o texto do script será executado. Desta forma podemos ter mais de um script no editor, e executar apenas um deles, ou então executar parte de um script.


No exemplo abaixo, como não há nenhum texto marcado o script todo é executado.



Já no exemplo abaixo, foi executado apenas parte do script marcado, desconsiderando o restante.



Com exceção de algumas informações de tabelas, nenhuma consistência é feita pelo programa. O Script é passado para o Banco de Dados da forma com que são digitados. Caso o script contenha algum erro, o erro será detectado pelo Banco. 

Porém o SQL SGE intercepta estas mensagens de erro e apresenta os erros de forma mais amigável para o usuário através da tela de mensages de erro padrão do SGE.



Durante a execução do script é apresentado na tela uma janela contendo um contador de registros e uma opção de cancelamento.



Este contador é iniciado apenas após o banco executar o script e retornar o controle para o programa. Após o banco terminar a execução do script, o programa começa a processar o resultado do script executado pelo Banco de Dados e criar a consulta. Ou seja, o contador não representa o processamento do script pelo banco, mas tão somente o processamento do resultado retornado pelo banco.


Da mesma forma, o botão de cancelamento não cancela uma tarefa de script encaminhada ao banco, mas sim o processamento do retorno. Por isso deve-se tomar cuidado com scripts que venham a ficar muito tempo processando no banco, pois não existe a possibilidade de cancelar esta tarefa uma vez que ela foi encaminhada ao banco.


Uma outra parte importando do editor de script são os resultados da execução do script. Ela é dividida em duas abas:


  • Resultado: Lista contendo o resultado da execução do script.
  • Log de Execução: Apresenta algumas informações de log da execução do script.


Na aba "Resultado" é apresentado a lista com o resultado da execução do script. O nome das colunas poderão ser definidas de duas formas:


  • Caso seja definido um alias para o campo através da sentença “AS”, este será o nome apreentado no cabeçalho da coluna:



  • Caso não seja definido nehnum alias, o nome da coluna será o nome do campo:



Algumas formatações desta grid podem ser configuradas a partir da tela de configurações.Abaixo da grid são apresentadas algumas informações sobre o resultado do script executado:



Cancelado: Indica que o usuário cancelou o processamento de retorno.

Tempo: Tempo total utilizado para execução do script em horas, minutos, segundos e milésimos de segundos.

Reg.: Quantidade de registros total processados na execução do script.


Na aba "Log de Execução" são apresentados algumas informações de log da execução do script:





MNC047 - SGE SQL - SALVANDO/PARÂMETROS


Para salvar ou excluir um script salvo anteriormente, deverá ser utilizado o botão Salvar no menu principal da tela do SQL SGE. Ao acionar este botão será apresentada uma nova tela onde o usuário deverá prestar algumas informações adicionais para que o script seja salvo. A tela está dividida em duas abas:


  • Informações Script: Esta aba contém todas as informações necessárias para gravar um script. É nesta aba também, que um Script pode ser excluído.
  • Liberações para Usuários: Esta aba mostra uma relação dos usuários que tem acesso a Script corrente. Lembrando que para que um Script possa ser excluído, o mesmo não pode estar liberado para nenhum usuário. Para liberar ou excluir a liberação de um script para usuários, deverá ser utilizada a tela de Liberação de Script para Usuários.



Note que é aqui que definimos os parâmetros que a consulta irá solicitar ao usuário no momento da execução.


Na aba "Informações Script", é utilizada para gravar ou excluir um script salvo anteriormente. Ela é dividida em três grupos de informações:


  • Cabeçalho com informações do Script:

  • Código Script: Informe neste campo um código para identificação do Script. Este campo apenas estará liberado quando um novo Script for salvo, senão estará bloqueado não sendo permitido sua alteração.
  • Descrição: Informe neste campo uma descrição mais detalhada para identificar o script. 
  • Tabela Principal: Estes campos não podem ser alterados pelo usuário, são meramente informativos. Eles são apurados de forma automatica com base na tabela principal de um comando Select por exemplo. No caso de script que não envolvam tabelas do sistema, estes campos estarão em branco.


  • Script SQL que será salvo:

Este campo mostra o script que será salvo. O Script não pode ser alterado neste momento, sendo utilizado apenas para consulta. Para alterar o script deve ser utilizado a tela principal (SQL SGE).


  • Variáveis do script:

Caso o script possua alguma variável definida, estas variáveis são carregadas nesta lista. As definições de variáveis são apuradas através do comando Declare dentro do script. A manipulação de variáveis é utilizada somente pela tela de Execução de Script. Nesta tela as variáveis são apresentadas como parâmetros, e o usuário poderá alterar informações destas variáveis para execução do Script. Nas execuções diretas na tela SGE SQL (MNC047) elas não são utilizadas, pois as mesmas podem ser manipuladas diretamente dentro do script, sendo elas utilizadas na rotina MNC048 - Execução de Script SGE.

  • Display: Este campo indica se o usuário poderá visualizar esta variável no momento da execução do script. Se este campo estiver desmarcado, ele não será apresentado na lista de variáveis para o usuário.
  • Lib. Usuário: Este campo indica se o usuário poderá alterar o valor desta variável para a execução do script. Caso este campo esteja desmarcado, e o campo display estiver marcado, o usuário poderá visualizar a variável e seu conteúdo, porém não poderá alterar a mesma.
  • Nome: Neste campo é apresentado o nome da variável definida no Script. O nome não pode ser alterado neste momento, podendo ser alterado diretamente no script na tela SGE SQL.
  • Tipo: Neste campo é apresentado o tipo da variável definido no Script. O tipo não pode ser alterado neste momento, podendo ser alterado diretamente no script na tela SGE SQL.
  • Descrição: Informe neste campo a descrição da variável que será apresentado para o usuário. A descrição pode ser carregada diretamente do script. Para isso, na linha de definição da variável a descrição deve ser digitada como comentário após a definição da variável. Mesmo nos casos em que a descrição é carregada do script, ela pode ser alterada a partir desta tela:



  • Valor Inicial: Informe neste campo um valor inicial para a variável. O valor é carregado incialmente com os valores definidos pelo comando Set no script, mas podem ser alterados neste momento. Para que uma variável surta efeito, obrigatoriamente deve existir um comando Set para cada variável no script. A execução não cria a linha com o comando Set, ela apenas altera seus valores no script pelos valores informados pelo usuário no momento da execução.


Para que seja possivel realizar o script onde consta a variável Declare é necessário setar as variaveis declaradas, porém é necessario que essa declaração seja feita em letras Maiúsculas, segue o exemplo de como ficária referente a declaração do @ItemInicial e do @ItemFinal :



    

No final, estão alguns botões para as ações necessárias:



  • Excluir: Esta opção exclui um script salvo anteriormente. Para que um script possa ser eliminado, o mesmo não poderá estar liberado para nenhum usuário. Para saber se o script está liberado, consulte a lista de liberações na aba Liberações Para Usuários. 
  • Cancelar: Fecha a tela sem salvar as informações do script.  
  • Ok: Esta opção irá salvar as informações. Nenhuma consistência no script é feita neste momento. Caso o script seja salvo e posteriormente liberado para outros usuários, o ideal é que seja executado inicialmente na tela SQL SGE para verificar se não existe nenhum erro no script.


Além das informações prestadas nesta tela, as informações prestadas na aba Informações para Login no Banco na tela SQL SGE também são salvas juntamente com o script. Desta forma, é possível criar um script para usuários acessarem Bancos ou Database diferente do Filelist.


 


MNM055 - Liberação de Script SQL para usuários


Todo script salvo pode ser liberado para os usuários do SGE. Os scripts liberados por esta tela estarão disponíveis para execução a partir da tela de Execução de Script. Uma liberação pode ser feita tanto para um usuário como para um grupo de usuários. 


Apesar das liberações serem feitas sempre para um respectivo módulo, no momento de montar a lista de scripts disponíveis o usuário tem a opção de listar o script de qualquer módulo. A liberação por módulo é apenas uma forma de separar os scripts caso o usuário possua uma lista muito grande de scripts liberados.



Usuário: Informe neste campo para qual usuário será feita a liberação de script. O usuário pode ser tanto do tipo Usuário como do tipo Grupo.

Carregar: Ao clicar neste botão, a Lista de scripts liberado para o usuário será montada, e será possível liberar novos scripts ou então eliminar scripts liberados anteriormente.


Na lista são apresentados os scripts liberados para o usuário. Tanto os scripts liberados diretamente para o usuário quanto as liberações feitas para o grupo ao qual o usuário pertença serão apresentados nesta lista. Porém apenas os scripts do próprio usuário poderão ser manipulados. 


Na lista, os scripts são separados por módulo, sendo que a linha de módulo possui uma cor diferente, sendo que abaixo do módulo são apresentados os scripts liberados:


Módulo: Informe neste campo o código do módulo no qual o script será liberado.

Script: Informe neste campo o código do script a ser liberado. O Script deverá ser um script salvo anteriormente na tela Sql SGE.

Descrição: Informe neste campo a descrição que será apresentado ao usuário. Em um novo cadastro, a descrição é carregada com a descrição do script informado no momento do cadastro do script na tela Sql SGE. Porém esta descrição poderá ser alterada neste momento.



Na imagem acima, os registros destacados em vermelho são liberações feitas diretas para o usuário AXE. Já os registos destacados em verde, são os liberados para o grupo de usuários o qual o AXE faz parte. A linha marcada como vermelho, indica o módulo a ser mostrado na lista para o usuário.




MNC048 - Execução Script SGE


A tela de Execução de Script possui todas as funcionalidades de execução do Sql SGE. Porém, ela é utilizada apenas por usuários do SGE que não possuem permissão para alterar o script, apenas executar. Ou seja, esta tela é utilizada apenas para execução de um script salvo e liberado para o usuário.



Esta Tela está dividida basicamente em duas áreas:


  • Área de seleção de Script: Tem como finalidade listar para o usuário os scripts liberados, permitindo selecionar um script para execução (destacado em vermelho);   
  • Área de execução de Script: Esta área está reservada para que o usuário parametrize, execute e visualize o resultado de um script, é será librada somente após o usuário selecionar um script na lista (destacado em verde).


Na área de seleção de script, temos os seguintes campos:



  • Seleção de Módulos: Nesta seleção (destacado em amarelo) são apresentados todos os módulos que possuam algum script liberado para o usuário. Através da seleção do módulo neste campo, o usuário poderá listar seus scripts, ou então listar todos os scripts selecionando a opção Todos.
  • Lista de Script: Nesta lista (destacado em azul)  são apresentados todos os scripts liberados para o usuário. Para selecionar um script a ser executado, o usuário deverá dar um duplo clique sobre a linha do script ou então clicar no botão "Carregar" (destacado em cinza)  na parte inferior da tela. Ao selecionar e carregar um script para a memória, a aba de execução e Parâmetros serão habilitados.


Na área de execução de script, ainda temos os seguintes aberturas:



  • Botão Retornar: Retorna para a lista de script, permitindo selecionar um novo script para execução;
  • Botão  Executar: Executa um script carregado a partir da lista;
  • Botão  Exportar: Exporta o resultado da execução de um script.


Na área de Execução, temos a janela de resultados da execução:



Neste espaço, são mostrados em forma de colunas o resultado após a execução do script. Vale ressaltar que a configuração da grid obedece a mesma formatação definida na tela do Sql SGE



Caso o script tenha sido criado com algum parâmetro que o usuário possa visualizar ou então manipular, estas variáveis serão apresentadas na aba "Parâmetros". No exemplo abaixo, foi criado um script pelo MNC049 com 3 parâmetros:


  • @ItemInicial
  • @ItemFinal
  • @DtCriação



Todos os 3 parâmetros criados estarão visíveis para o usuário de execução, pois o a coluna "Display" esta marcada para todos. Entretanto, para que o usuário possa informar os parâmetros, somente o dois primeiros estarão disponíveis para serem informados na aba de "Parâmetros". Com base nestas informações, teremos na aba "Parâmetros", a seguinte visão:



Caso necessite acompanhar o tempo e mais informações da execução, na aba de "Log de Execução"  contém o resultado após a execução do script. Vale ressaltar que a configuração da grid obedece a mesma formatação definida na tela do Sql SGE. 



DICAS IMPORTANTES


Video com algumas características do SGE SQL, clique aqui.


Quer aprender ou tem dificuldades em comandos SQL, veja os artigos que separamos para vc:


Artigo: Guia Completo de SQL da DevMedia

Video: Curso SQL Completo 2019 [Iniciantes] + Desafios + Muita Prática no YouTube

Artigo: Acesso SQL: conceitos básicos, vocabulário e sintaxe da Microsoft



Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo