Los procedimientos almacenados son objetos de base de ejecutables compuestas de varias sentencias SQL . Ellos ayudan a simplificar la interacción entre la base de datos y el usuario final que no tiene suficiente experiencia para escribir consultas SQL complejas . Puede utilizar procedimientos almacenados para proporcionar acceso , validación de datos y simplificar el procesamiento complejo que requiere varias sentencias SQL . Los procedimientos almacenados pueden aceptar parámetros de entrada , valores de retorno y aplicar la lógica de bucle como si , mientras que las declaraciones y la caja. Cosas que necesitará
Microsoft SQL Server Analizador de consultas
Mostrar más instrucciones
1
Crear un procedimiento almacenado mediante la sintaxis CREATE ProcedureName PROCEDIMIENTO . Introduzca las siguientes instrucciones para crear un procedimiento almacenado llamado sporderscopy que copia el contenido de la tabla Pedidos en la tabla OrdersCopy .
CREAR sporderscopy PROCEDIMIENTO
AS
SELECT * en OrdersCopy
FROM Pedidos
el procedimiento anterior se creará una copia de la tabla de pedidos . También puede agregar parámetros , recompilar y añade cifrado con la sentencia CREATE PROCEDURE . Los parámetros ayudan a aceptar los valores en el procedimiento que se requieren para el resultado deseado. Los parámetros de salida se utilizan para almacenar valores que se pasan de nuevo a otro programa. Los parámetros opcionales tienen un valor por defecto y no es necesario un valor de entrada . La opción hace que el sistema vuelva a compilar compilar el procedimiento cada vez que se ejecuta . La opción de codificación permite al usuario final para obtener el resultado final sin ver el código.
2 Los procedimientos almacenados
puede aceptar valores de entrada y pasar de nuevo los valores de salida al programa que llama a los procedimientos almacenados , al declarar los parámetros . Los parámetros de entrada pueden ser opcionales , si se asigna un valor por defecto a ellos al crear el procedimiento. Los parámetros de salida se definen especificando la palabra clave OUTPUT.
CREATE PROCEDURE sporderscount
@ total_order dinero SALIDA ,
@ order_date smalldatetime = NULL,
@ customer_var varchar ( 40 ) = '% '
AS
SELECT @ total_order = SUMA ( total_order )
DE pedidos ÚNETE clientes
EN pedidos.idpedido = customers.orderID
WHERE ( order_date > = @ date_var )
y ( CustomerName como @ customer_var )
El procedimiento anterior tiene dos parámetros de entrada y devuelve un parámetro de salida . El parámetro de salida se identifica con la palabra clave OUTPUT.
3
de ejecución, un procedimiento mediante el uso de la sintaxis ProcedureName EXEC. Introduzca las siguientes instrucciones SQL para ejecutar el procedimiento almacenado:
DECLARE @ mytotalorder dinero
EXEC spordercount @ = @ mytotalorder salida total_order , '2010 -03- 21 ' , ' % D '< br >
la instrucción DECLARE crea una variable de salida que almacenará el valor del parámetro de salida del procedimiento almacenado . La instrucción de ejecución se utiliza para ejecutar el procedimiento almacenado. Dado que tanto los parámetros de entrada tienen valores por defecto , que no tiene que ser asignado un valor al ejecutar el procedimiento
4 Valores de retorno
de procedimientos almacenados mediante la adición de la siguiente declaración : .
RETURN @ order_count
la declaración anterior en un procedimiento almacenado devolverá un valor y almacenarlo en una variable en el programa que llama al procedimiento . También se puede usar un parámetro de retorno o el parámetro de salida para pasar de nuevo a un valor al programa de llamada . En la declaración anterior, el procedimiento devolverá el número de filas en la tabla de pedidos .
5
Utilice el comando ProcedureName PROCEDIMIENTO ALTER para modificar el procedimiento almacenado. La sintaxis es similar al procedimiento de crear. Introduzca las siguientes declaraciones para alterar la spordercount procedimiento para agregar otro estado variable. El procedimiento almacenado restringirá las filas basándose en el estado de residencia en lugar del nombre .
ALTER PROCEDURE sporderscount
@ order_state varchar ( 30 ) = NULL,
@ total_order SALIDA dinero,
@ order_date smalldatetime = NULL
AS
SELECT @ total_order = suma ( total_order )
DE pedidos JOIN clientes
< p > ON pedidos.idpedido = customers.orderID
WHERE ( order_date > = @ date_var )
Y ( ClienteProvincia = @ order_state )
6
Eliminar el almacenado procedimiento mediante el comando ProcedureName DROP PROCEDURE . No se puede deshacer el efecto del comando drop . Eliminar el procedimiento almacenado spordercount introduciendo la siguiente declaración :
DROP PROCEDIMIENTO sporderscount