Guia 2 sql server

Solo disponible en BuenasTareas
  • Páginas : 10 (2433 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de enero de 2012
Leer documento completo
Vista previa del texto
Tema: Procedimientos almacenados y cursores.

Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER

GUÍA 2 Pág.

1

I. OBJETIVOS Utilizar procedimientos almacenados Conocer el uso de los cursores Realizar operaciones utilizando transacciones

II. INTRODUCCIÓN


Programación con Transact-SQL

Transact-SQL no es realmente un lenguaje de programación similar a lasherramientas de tercera y cuarta generación sin embargo permite utilizar SQL para realizar tareas complejas que requieren saltos, bucles, decisiones. Transact-SQL se utiliza a menudo en la creación de procedimientos almacenados y triggers de tal forma que las aplicaciones clientes que se conectan a SQL Server solo se preocupan por la presentación de los datos para el usuario final, mientras que lalógica de los procesos se maneja en el servidor. Variables: Las variables locales se identifican como aquellos objetos que comienzan con el carácter arroba '@' una vez; las variables globales se identifican como los objetos que tienen 2 arrobas al inicio '@@', como ejemplo de variables globales tenemos: @@rowcount, @@error. Las variables locales se declaran al inicio de un proceso por lotes o unprocedimiento almacenado, la forma de asignarle valores a una variable es con la instrucción SELECT. El control de flujo en Transact-SQL Construcción IF..ELSE GOTO etiqueta WAITFOR Descripción Define una decisión. Define un salto incondicional Establece un tiempo para la ejecución de una instrucción. El tiempo puede ser un intervalo de retardo o un instante especificado de ejecución (una hora concretadel día) Bucle básico de SQL Acompaña al bucle WHILE y le indica finalizarlo inmediatamente. Acompaña al bucle WHILE y le indica continuar con la siguiente iteración. Salida incondicional del procedimiento o
GUÍA 2 Pág.

WHILE BREAK CONTINUE RETURN [n]

2

BEGIN..END

CASE

proceso por lotes, se puede definir un número entero como estado devuelto y puede asignarse a cualquier variable.Utilizado en conjunto con IF..ELSE o WHILE para agrupar un conjunto de instrucciones. Implementada en la instrucción SELECT y UPDATE y permite realizar consultas y actualizaciones condicionales.

PRINT Es una instrucción para imprimir un dato en la pantalla, la sintaxis es: PRINT "cadena" ; cadena puede ser también una variable de tipo varchar. Por ejemplo: PRINT „Hola a todos‟ RAISERROR Essimilar a PRINT, pero permite especificar un número de error y la severidad del mensaje. RAISERROR también permite que los errores se registren en el servicio de sucesos de Windows NT haciendo posible leerlos a través del visor de sucesos de Windows NT. La sintaxis es: RAISERROR({id_mensaje | cadena_mensaje}, severidad, estado [, argumento1 [,argumento2]]) WITH LOG. Después de llamar a RAISERROR, lavariable global @@ERROR tendrá el valor de id_mensaje, si no se pasa ningún id_mensaje, asumirá 5000. Procedimientos almacenados. Dos de las cuestiones más importantes para el usuario de bases de datos son la velocidad y la eficiencia. Por ello surge una pregunta: ¿Cómo puedo proporcionar a los usuarios la velocidad y eficiencia que necesitan y merecen? Esa herramienta diseñada principalmente paraoptimizar la obtención de datos, es el procedimiento almacenado. Un procedimiento almacenado es una consulta que se almacena en una base de datos en SQL Server en lugar de almacenarse en el código cliente (normalmente C# o Java) en el equipo cliente.


Creación de procedimientos almacenados (Store Procedures)

La instrucción general para crear procedimientos almacenados es la siguiente:CREATE PROC nombre_proc parametros

GUÍA 2 Pág.

3

AS INSTRUCCION SQL Es necesario aclarar, que un procedimiento almacenado puede recibir parámetros de entrada y devolver parámetros de salida. Ejemplo 1 Instrucción SQL
USE AdventureWorks Select name, Color, ListPrice, SellStartDate FROM Production.Product WHERE SellStartDate > '1/1/2003' ORDER BY SellStartDate, Name

Procedimiento con...
tracking img