Como usar a linguagem módulo com sql
linguagem módulo
Conteúdo
um SQL módulo é simplesmente uma lista de instruções SQL. Cada instrução SQL está incluída em uma SQL procedimento e é precedido por uma especificação do nome do procedimento e o número e tipos de parâmetros.
Cada procedimento SQL contém apenas uma instrução SQL. No programa de host, você explicitamente chamar um procedimento SQL em qualquer ponto no programa host que deseja executar a instrução SQL nesse procedimento. Você chama o procedimento de SQL, como se fosse um subprograma na língua de acolhimento.
Video: Curso Prático de SQL com MySQL - Aula 10 - Select
Assim, você pode usar um módulo de SQL eo programa host associado a mão-código explicitamente o resultado do pré-processador de SQL para sintaxe embutido.
SQL embutido é muito mais comum do que a linguagem módulo. A maioria dos fornecedores oferecem alguma forma de linguagem módulo, mas poucos enfatizá-la em sua documentação. linguagem módulo tem várias vantagens:
programadores de SQL não tem que ser especialistas na linguagem procedural. Porque o SQL é completamente separado da linguagem procedural, você pode contratar os melhores programadores SQL disponíveis para escrever seus módulos SQL, ou não tem alguma experiência com o idioma processual. Na verdade, você pode até mesmo adiar a decidir qual linguagem procedural usar até depois de seus módulos de SQL são escritos e depurado.
Video: Curso Oracle SQL
Você pode contratar os melhores programadores que trabalham na sua língua processual, mesmo que eles não sabem nada sobre SQL. É lógico que, se seus especialistas SQL não tem que ser especialistas em linguagem processuais, certamente, os especialistas em linguagem processuais não precisa se preocupar-se sobre SQL aprendizagem.
No SQL é misturado com o código de procedimento, para que o seu depurador de linguagem processual funciona. Isso pode lhe poupar tempo de desenvolvimento considerável.
Mais uma vez, o que pode ser visto como uma vantagem a partir de uma perspectiva pode ser uma desvantagem do outro. Porque os módulos de SQL são separados do código de procedimento, seguindo o fluxo da lógica não é tão fácil como no SQL embutido quando você está tentando entender como o programa funciona.
declarações do módulo
A sintaxe para as declarações em um módulo é como se segue:
Video: Curso Prático de SQL com MySQL - Aula 01 - Conceitos básicos
MÓDULO [module-name] [nomes são caracteres set-name] LÍNGUA MUMPS [schema-name] [AUTORIZAÇÃO autorização-id] [temporárias-table-declarações ...] [de cursor-declarações ...] [dynamic cursor-declarações ...] procedimentos ...
Os colchetes indicam que o nome do módulo é opcional. Nomeá-lo de qualquer maneira é uma boa idéia se você quiser manter as coisas de ficar muito confuso.
o opcional NOMES SÃO cláusula especifica um conjunto de caracteres. Se você não incluir um NOMES SÃO cláusula, o conjunto padrão de caracteres SQL para a sua implementação é usado. o LÍNGUA cláusula diz o módulo que língua ele será chamado de. O compilador sabe o que a linguagem chamada é, porque ele vai fazer as instruções SQL aparecem ao programa de chamada como se eles são subprogramas em língua desse programa.
Apesar de ESQUEMA cláusula e do AUTORIZAÇÃO cláusula são opcionais, você deve especificar pelo menos um deles. Ou você pode especificar ambos. o ESQUEMA cláusula especifica o esquema padrão, eo AUTORIZAÇÃO cláusula especifica o identificador de autorização. o identificador de autorização estabelece os privilégios que você tem.
Video: Cursos SQL SERVER #0 | Introducción | Manejo de base de datos
Se você não especificar um ID de autorização, o DBMS usa o ID de autorização associado à sua sessão para determinar os privilégios que seu módulo é permitido. Se você não tem os privilégios necessários para realizar a operação de seu procedimento exige, o procedimento não é executado.
Se o seu procedimento requer tabelas temporárias, declará-los com a cláusula de declaração da tabela temporária. Declarar cursores e cursores dinâmicos antes de declarar quaisquer procedimentos que os utilizam. Declarando um cursor após um procedimento inicia a execução é permitida, desde que esse procedimento não usa o cursor. Declarando cursores para ser usado por procedimentos posteriores pode fazer sentido.
procedimentos do módulo
As partes funcionais do módulo são os procedimentos. Um procedimento SQL linguagem módulo tem um nome, as declarações de parâmetros e instruções SQL executáveis. O programa de linguagem procedural chama o procedimento pelo seu nome e passa valores a ele através dos parâmetros declarados. sintaxe procedimento se parece com isso:
PROCEDIMENTO procedimento de nome (parâmetro de declaração [, parâmetro de declaração] ... instrução SQL - [instruções SQL] -
A declaração de parâmetro deve ter a seguinte forma:
-Tipo de dados parâmetro de nome
ou
SQLSTATE
Os parâmetros que declaram pode ser parâmetros de entrada, parâmetros de saída, ou ambos. SQLSTATE é um parâmetro de status através do qual os erros são relatados.