Está en la página 1de 1

PROCEDIMIENTOS EN LAS BASE DE DATOS.

Los procedimientos almacenados del sistema comienzan con los caracteres sp_. Se almacenan físicamente en la base de datos de
recursos, pero aparecen lógicamente en el esquema sys de cada base de datos definida por el sistema y por el usuario en la
instancia de SQL Server. Los procedimientos almacenados del sistema se pueden ejecutar desde cualquier base de datos aunque el
nombre del procedimiento almacenado no sea completo. Un nombre completo que no sea de esquema puede ser un nombre de
una parte como sp_someproc o un nombre de tres partes como somedb..sp_someproc cuya segunda parte, es decir, el nombre
del esquema, no esté especificada.

Se recomienda que certifique como de esquema todos los nombres de procedimientos almacenados del sistema con el nombre de
esquema sys a fin de evitar conflictos de nombre. En el siguiente ejemplo se muestra el método recomendado para ejecutar un
procedimiento almacenado del sistema.

Secuencia de llamada a procedimientos

En Visual Basic 6.0, se necesita encerrar entre paréntesis la lista de argumentos de llamadas a  Function. En llamadas Sub, se
necesitan si utiliza la instrucción Call y se omiten si no se utiliza. El siguiente ejemplo muestra instrucciones de llamada válidas.

y = Sqrt(x)

PASAR DATOS POR REFERENCIAS.


 Si el procedimiento necesita realmente modificar el valor subyacente en el código de llamada, declare el parámetro
correspondiente ByRef.
 Si la ejecución correcta del código depende del procedimiento que cambia el elemento subyacente en el código de
llamada, declare el parámetro ByRef. Si lo transfiere por valor o si el código de llamada en lugar de utilizar el mecanismo
para pasar argumentos ByRef incluye el argumento entre paréntesis, la llamada al procedimiento podría producir
resultados inesperados.
PASAR DATOS POR VALOR.
 Si el elemento del código de llamada subyacente al argumento es un elemento no modificable, declare el parámetro
correspondiente ByVal. Ningún código puede cambiar el valor de un elemento no modificable.
 Si el elemento subyacente es modificable, pero no desea que el procedimiento pueda modificar su valor, declare el
parámetro ByVal. Sólo el código de llamada puede cambiar el valor de un elemento modificable transferido por valor.

Ventajas de los procedimientos almacenados


Los procedimientos almacenados ofrecen varias ventajas. Pueden:
􀂄 Compartir la lógica de la aplicación con las restantes aplicaciones, lo que asegura que el acceso y la modificación de los datos se
hace de una forma coherente.
Los procedimientos almacenados pueden encapsular la funcionalidad del negocio. Las reglas o directivas empresariales
encapsuladas en los procedimientos almacenados se pueden cambiar en una sola ubicación. Todos los clientes pueden usar los
mismos procedimientos almacenados para asegurar que el acceso y modificación de los datos es coherente.
􀂄 Apartar a los usuarios de la exposición de los detalles de las tablas de la base de datos. Si un conjunto de procedimientos
almacenados permite llevar a cabo todas las funciones de negocio que los usuarios necesitan, los usuarios no tienen que tener
acceso a las tablas directamente.
􀂄 Proporcionar mecanismos de seguridad. Los usuarios pueden obtener permiso para ejecutar un procedimiento almacenado
incluso si no tienen permiso de acceso a las tablas o vistas a las que hace referencia.
􀂄 Mejorar el rendimiento. Los procedimientos almacenados implementan muchas tareas como una serie de instrucciones de SQL.
Se puede aplicar lógica condicional a los resultados de las primeras instrucciones de para determinar cuáles son las siguientes
que deben ejecutarse. Todas estas instrucciones y la lógica condicional pasa a ser parte de un único plan de ejecución del
servidor.

􀂄 Reducir el tráfico de red. En lugar de enviar cientos de instrucciones de SQL por la red, los usuarios pueden realizar una
operación compleja mediante el envío de una única instrucción, lo que reduce el número de solicitudes que se pasan entre el
cliente y el servidor.

También podría gustarte