Microsoft SQL Procedimientos almacenados

by admin

Microsoft SQL Procedimientos almacenados

Microsoft SQL procedimientos almacenados son grupos de comandos o instrucciones de Transact-SQL (T-SQL) almacenados en el servidor. Los procedimientos almacenados deben utilizarse en lugar de SQL en línea, que se crea dinámicamente por la aplicación. Aplicaciones y sitios web que acceden a una base de datos más a menudo se basan en procedimientos almacenados para ejecutar comandos de base de datos y recuperar datos. Una vez creado, un procedimiento se almacenará en el servidor SQL como un objeto de base de datos. Los procedimientos almacenados tienen algunas ventajas importantes que justifican su uso sobre SQL en línea, incluyendo la seguridad, la facilidad de cambios y la velocidad.

Estructura de un procedimiento almacenado

Un procedimiento almacenado se divide en dos secciones principales, la declaración del nombre del procedimiento almacenado y sus parámetros y el grupo de comandos T-SQL. Los parámetros se utilizan generalmente el mismo como variables regulares en una declaración T-SQL ya que están precedidos por un símbolo @ y debe ser declarada con un tipo de datos. La diferencia entre parámetros de procedimiento almacenado y las variables estándar es que los parámetros se pasan en ejecución durante la llamada por la aplicación o página web.

Crear o modificar un procedimiento almacenado

El comando T-SQL CREATE PROCEDURE se utiliza para crear procedimientos almacenados. El siguiente es un ejemplo sencillo de un procedimiento almacenado.

USO MyDatabase
CREAR PROCEDIMIENTO dbo.SampleProc
(@ Param1 varchar (20))
Como
SELECCIONAR

Col1,
Col2

DE NombreTabla
DONDE Col3 = @ Param1

Esta declaración sería crear un procedimiento almacenado llamado SampleProc en MyDatabase. Una vez creado el procedimiento almacenado, puede utilizar el procedimiento ALTER o DROP mandatos de procedimiento. El comando ALTER PROCEDURE actualizará el procedimiento existente con la instrucción que sigue a la misma. El comando DROP PROCEDURE eliminará el procedimiento desde la base de datos.

El uso de un procedimiento almacenado

Para una aplicación o sitio web para acceder al procedimiento almacenado, una llamada base de datos utilizando el comando EXECUTE se envía al servidor. El comando EXECUTE para el procedimiento almacenado creado anteriormente sería el siguiente:

EJECUTAR MyDatabase.dbo.SampleProc @ Param1 = 'SampleInput'

En el ejemplo, se devuelve un conjunto de registros de dos columnas; Sin embargo, los procedimientos almacenados pueden devolver ya sea un valor de estado de éxito o fracaso o devolver varios conjuntos de registros de datos.

Ventajas del uso de procedimientos almacenados

El uso de procedimientos almacenados en lugar de SQL en línea le dará una serie de beneficios. Según la Red de Libros en Microsoft Developer, cuatro beneficios del uso de procedimientos almacenados son que permiten la programación modular, permiten una ejecución más rápida, pueden reducir el tráfico de red y se pueden utilizar como mecanismo de seguridad. La actualización de los procedimientos almacenados es más fácil que la actualización de SQL en línea ya que el procedimiento almacenado se almacena en el servidor en un solo lugar. Una vez que se cambie el procedimiento almacenado, cualquier aplicación o sitio web llamando a este procedimiento tendrán los comandos actualizados. Si ha utilizado SQL en línea, el cambio tendría que ser realizado varias veces en el código de la aplicación o sitio web.

Los procedimientos almacenados son generalmente más rápido que SQL en línea desde un procedimiento almacenado se cumplió, ya que se crea en lugar de como se ejecuta. Esto acelerará la transacción ligeramente. Algunas declaraciones de T-SQL pueden ser de cientos de líneas de comandos. Si estos comandos se crean en línea, que tienen que ser transferidos a través de la red; Sin embargo, los procedimientos almacenados sólo necesita tener el nombre del procedimiento transferido. Dado que los procedimientos almacenados son objetos de base de datos, que pueden ser asegurados al igual que una tabla de base de datos. Sólo algunos usuarios pueden tener acceso al ejecutar un procedimiento almacenado si es necesario.

Procedimientos almacenados de Buenas Prácticas

Existen muchos tipos de mejores prácticas que los desarrolladores deben adherirse a la hora de diseñar los procedimientos almacenados. Nunca se debe utilizar el prefijo de sp_ ya que sólo se utiliza para procedimientos almacenados del sistema como sp_who, Sp_executesql y otros procedimientos relacionados con el sistema. Se debe utilizar la ruta completa de los objetos de base de datos al hacer referencia a ellos en los procedimientos almacenados. Un ejemplo de una ruta completa de un objeto sería DatabaseName.Schema.ObjectName.

ETIQUETA: