Beruflich Dokumente
Kultur Dokumente
Net
Procedimientos Almacenados
Definicin : Un procedimiento almacenado es una consulta SQL almacenada en una base de datos de Microsoft SQL Server y no en el cdigo de la aplicacin. Los procedimientos almacenados son ms seguros que el cdigo de consulta y a menudo su ejecucin es ms rpida. El control SqlDataSource, puede recuperar los resultados del procedimiento almacenado y servir como origen de datos del control GridView.
2012 DUOC Sede Antonio Varas. Todos los Derechos Reservados.
Como tal, posee acceso directo a los datos que necesita manipular y slo necesita enviar sus resultados de regreso al usuario, deshacindose de la sobrecarga resultante de entrada y salida de informacin.
Los usos tpicos para los procedimientos almacenados incluyen la validacin de datos siendo integrados a la estructura de base de datos, son mas conocidos como disparadores o triggers.
2012 DUOC Sede Antonio Varas. Todos los Derechos Reservados.
Ejemplo
El procedimiento almacenado quedar guardado como un objeto de la base de datos. Si es requerida alguna modificacin al cdigo que lo define, se debe utilizar la instruccin ALTER en lugar de CREATE, como se muestra en el siguiente ejemplo:
Procedimientos Almacenados
Una vez que el procedimiento ha sido creado en la base de datos, este puede ser accedido como tal mediante las clases de acceso a datos (SqlCommand) desde el cdigo .Net, para ello se debe especificar que el tipo de comando es CommandType.StoredProcedure
Recomendaciones y nomenclaturas
Es recomendado mantener algn estndar en la definicin de los nombres de los procedimientos almacenados. La funcin principal que se les da a los procedimientos, tiene relacin con un concepto llamado CRUD que viene de un acrnimo en ingls para indicar: Creacin (Create), Lectura (Read), Actualizacin (Update) y Eliminacin (Delete). Por lo tanto la nomenclatura bsica a definir debera estar guiada por estas definiciones. Para el caso de normar a nivel de los ejemplos y la codificacin utilizaremos los siguientes prefijos para nuestros procedimientos:
Recomendaciones y nomenclaturas
Script autogenerados.
Scripts autogenerados
Lo interesante del cdigo mostrado, es que identificamos los nombres de las propiedades donde se carga la sentencia SQL, misma que podemos utilizar para enlazar la fuente de datos a los procedimientos creados para cada caso. Adems tambin se visualiza la definicin de los respectivos parmetros asociados a cada comando, estando estos definidos como valores planos rescatados desde el control enlazado o de controles externos que pueden proveer el valor para el parmetro, como es el caso del DropDownList que provee el parmetro para el filtro (Where) del comando de seleccin.
Control SqlDataSource
Control SqlDataSource
Control SqlDataSource
La interfaz de configuracin del SQLDataSource en las Tareas del control, nos provee una interaccin amigable para poder realizar estas configuraciones, pero no se debe perder de vista el hecho que ellas pueden ser asignadas mediante las respectivas propiedades. Para ello nos guiamos en el asistente y al momento de indicar la sentencia SQL del comando Select, seleccionamos la opcin para dar nosotros la instruccin SQL o procedimiento almacenado, configurando en la ventana siguiente el procedimiento almacenado para cada una de las instrucciones del CRUD. Si alguno de los procedimientos requiere algn parmetro especial no posible de identificar, este ser solicitado por separado antes de terminar con el asistente. Otro aspecto a distinguir entre la configuracin por interfaz y por propiedades directas en el cdigo es que las propiedades <accin>Command y <accin>Parameters se presentan en la ventana de propiedades del control como <accin>Query.
2012 DUOC Sede Antonio Varas. Todos los Derechos Reservados.
Automatizacin: si tenemos un conjunto de instrucciones T-SQL, las cuales queremos ejecutar de manera ordenada, un SP es la mejor manera de hacerlo.
Administracin: cuando realizamos aplicaciones con un gran numero de lneas de cdigo, y queremos hacer cambios, solo implica modificar un SP y no toda la aplicacin, lo que significa solo cambiamos los SP en el servidor y no tenemos que actualizar la aplicacin en todos los equipos cliente.