Cómo utilizar un lenguaje módulo con sql

Video: Lenguaje de Manipulación de datos Sql Server (10-35) Bases de Datos en Microsoft Sql Server 2012

módulo idioma proporciona un método relativamente fácil para el uso de SQL con un lenguaje de programación procedimental. Con un lenguaje módulo, se pone explícitamente todas las sentencias SQL en un módulo independiente de SQL.

un SQL módulo es simplemente una lista de sentencias SQL. Cada instrucción SQL se incluye en un SQL procedimiento y está precedida por una especificación del nombre del procedimiento y el número y tipo de parámetros.

Cada procedimiento de SQL contiene sólo una instrucción SQL. En el programa de acogida, se llama explícitamente un procedimiento de SQL en cualquier punto en el programa host que desea ejecutar la instrucción SQL en dicho procedimiento. Usted llama el procedimiento de SQL como si se tratara de un subprograma en el lenguaje principal.

De este modo se puede utilizar un módulo de SQL y el programa host asociado a mano el código de forma explícita el resultado del preprocesador de SQL para la sintaxis embebida.

SQL incorporado es mucho más común que la lengua módulo. La mayoría de los proveedores ofrecen algún tipo de lenguaje de módulo, pero pocos hacen hincapié en su documentación. lengua módulo tiene varias ventajas:

  • programadores de SQL no tienen que ser expertos en la lengua del procedimiento. Debido a que el SQL está completamente separada de la lengua del procedimiento, se puede contratar a los mejores programadores de SQL disponibles para escribir sus módulos de SQL, si tienen o no tienen ninguna experiencia con su lengua del procedimiento. De hecho, incluso se puede aplazar decidir qué lenguaje de procedimientos a utilizar hasta después de los módulos de SQL se escriben y depurarse.

  • Usted puede contratar a los mejores programadores que trabajan en su idioma de procedimiento, incluso si no saben nada acerca de SQL. Es lógico pensar que si sus expertos SQL no tienen que ser expertos en idiomas de procedimiento, sin duda los expertos de la lengua de procedimiento no tiene que preocuparse sobre sí mismos SQL aprendizaje.

  • Sin SQL se mezcla con el código de procedimiento, por lo que su depurador de lenguaje de procedimientos funciona. Esto le puede ahorrar un tiempo considerable desarrollo.

Una vez más, lo que puede ser considerado como una ventaja desde un punto de vista puede ser una desventaja de otro. Debido a que los módulos de SQL se separan del código de procedimientos, siguiendo el flujo de la lógica no es tan fácil como lo es en SQL incrustado cuando se está tratando de entender cómo funciona el programa.

declaraciones del módulo

La sintaxis de las declaraciones de un módulo es la siguiente:

Video: SQL Server | 34 - T-SQL SQL como lenguaje de programación

MÓDULO [nombre del módulo] [nombres son character-set-name] IDIOMA paperas [SCHEMA nombre-esquema] [id-autorización AUTORIZACIÓN] [-tabla-declaraciones temporales ...] [cursor-declaraciones ...] [dynamic cursor-declaraciones ...] procedimientos ...

Los corchetes indican que el nombre del módulo es opcional. Dándole el nombre de todos modos es una buena idea si quiere mantener las cosas de conseguir demasiado confuso.

el opcional LOS NOMBRES SON cláusula especifica un conjunto de caracteres. Si no se incluye una LOS NOMBRES SON cláusula, se utiliza el conjunto predeterminado de caracteres de SQL para su ejecución. los IDIOMA cláusula dice al módulo que el lenguaje que se llamará a partir. El compilador sabe lo que es el lenguaje que llama, ya que hará que las sentencias SQL aparecen al programa de llamada como si ellos son subprogramas en el idioma de ese programa.

Aunque el ESQUEMA cláusula y la AUTORIZACIÓN cláusula son ambos opcionales, debe especificar al menos uno de ellos. O puede especificar ambos. los ESQUEMA cláusula especifica el esquema predeterminado, y el AUTORIZACIÓN cláusula especifica el identificador de autorización. los identificador de autorización establece los privilegios que tiene.

Si no se especifica un ID de autorización, el DBMS utiliza el ID de autorización asociado a la sesión para determinar los privilegios que se permite su módulo. Si usted no tiene los privilegios necesarios para realizar la operación de su procedimiento exige, no se ejecuta el procedimiento.

Si el procedimiento requiere tablas temporales, lo cuenten con la cláusula de declaración-tabla temporal. Declarar cursores y cursores dinámicos antes de declarar cualquier procedimiento que las utilizan. Declarar un cursor después de un procedimiento comienza a ejecutar es permisible siempre y cuando dicho procedimiento no utiliza el cursor. cursores declarar a ser utilizado por los procedimientos posteriores pueden tener sentido.

procedimientos de módulo

Las partes funcionales del módulo son los procedimientos. Un procedimiento de lenguaje SQL módulo tiene un nombre, declaraciones de parámetros, y las sentencias SQL ejecutables. El programa de lenguaje de procedimientos llama al procedimiento por su nombre y pasa los valores a través de los parámetros declarados. Sintaxis procedimiento es el siguiente:

PROCEDIMIENTO nombre-procedimiento (declaración-parámetro [, declaración-parámetro] ... instrucción SQL - [sentencias SQL] -

La declaración de parámetros debe tener el siguiente contenido:

De tipo de datos de parámetros de nombre

o

SQLSTATE

Los parámetros se declaran pueden ser parámetros de entrada, parámetros de salida, o ambos. SQLSTATE es un parámetro de estado a través del cual se informa de errores.

Artículos Relacionados