TRANSACT2 SQL

41
TRANSACT SQL UAP – ESCUELA DE INGENIERIA DE SISTEMAS E INFORMATICA FACULTAD DE INGENIERIA Y ARQUITECTURA

description

SQL

Transcript of TRANSACT2 SQL

TRANSACT SQL

TRANSACT SQLUAP ESCUELA DE INGENIERIA DE SISTEMAS E INFORMATICAFACULTAD DE INGENIERIA Y ARQUITECTURAQu es Transact SQL?(T-SQL). Transact-SQL es una extensin del lenguajeSQL,propiedaddeMicrosoft y Sybase. Transact-SQL es un lenguaje que sirve para la definicin, tratamiento y control de datos.

SQL Server Management Studio

Es un entorno integrado para administrar la infraestructura de SQL Server.

Combina un amplio grupo de herramientas grficas con un editor de texto enriquecido para ofrecer acceso a SQL Server a los programadores y administradores, sin importar su nivel de especializacin.

Tambin permite implementar, supervisar y actualizar los componentes de capa de datos usados por las aplicaciones, como bases de datos y almacenamientos de datos.Componentes de Management StudioM. Studio presenta la informacin en ventanas dedicadas a tipos de informacin especficos.

La informacin de la base de datos se muestra en las ventanas de documentos y en el Explorador de objetos.El Explorador de objetos es una vista de rbol de todos los objetos de base de datos que contiene un servidor.Puede incluir las bases de datos de Motor de base de datos de SQL Server, Analysis Services, Reporting Services e Integration Services.

El Explorador de objetos incluye informacin de todos los servidores a los que est conectado.Al abrir Management Studio, se le solicita que se conecte al Explorador de objetos aplicando la ltima configuracin utilizada.

Para conectarse a un servidor, no es necesario que lo registre. Solo tiene que hacer doble clic en cualquier servidor del componente Servidores registrados.

La ventana de documento es el rea de mayor tamao de Management Studio.Esta ventana puede contener editores de consulta y ventanas de explorador.De forma predeterminada, se muestra la pgina Resumen, conectada a la instancia de Motor de base de datos del equipo actual.

Sentencias en transact sqlUna consulta es una peticin que se hace para obtener datos almacenados en SQL Server.

Todas las consultas presentan al usuario el conjunto de resultados de una instruccin SELECT.

Un conjunto de resultados es una tabla que muestra los datos obtenidos mediante la instruccin SELECT.

La tabla tiene filas y columnas.

La escritura y ejecucin de instrucciones de Transact-SQL es una de las formas en que se puede realizar una consulta en SQL Server.Cuando escriba y ejecute instrucciones de Transact-SQL, utilizar:Instrucciones del Lenguaje de definicin de datos (DDL), que se utilizan para crear objetos en la base de datos.

Instrucciones del Lenguaje de control de datos (DCL), que se utilizan para determinar quin puede ver o modificar los datos.

Instrucciones del Lenguaje de tratamiento de datos (DML), que se utilizan para consultar y modificar los datos. Instrucciones del Lenguaje de definicin de datos

Instrucciones del Lenguaje de control de datos

Se utilizan para cambiar los permisos asociados con un usuario o funcin de la base de datos. En este ejemplo se concede a la funcin public el permiso para consultar la tabla products. InstruccinDescripcin GRANT Crea una entrada en el sistema de seguridad que permite a un usuario trabajar con datos o ejecutar ciertas instrucciones de Transact-SQL.

DENY Crea una entrada en el sistema de seguridad que deniega un permiso de una cuenta de seguridad e impide que el usuario, grupo o funcin herede el permiso a travs de su pertenencia a grupos o funciones.

REVOKE Quita un permiso concedido o denegado previamente.

Instrucciones del Lenguaje de tratamiento de datos

Elementos de la sintaxis de Transact-SQL

Las instrucciones de DML se crean a partir de varios elementos de la sintaxis de Transact-SQL.

Entre estos elementos se encuentran los siguientes:

Directivas de proceso por lotes Comentarios Identificadores Tipos de datos Variables Funciones del sistema Operadores Expresiones Elementos del lenguaje de control de flujo Palabras clave reservadasDirectivas de proceso por lotes

SQL Server procesa en lotes una o varias instrucciones de Transact-SQL. Una directiva de proceso por lotes indica a SQL Server que debe analizar y ejecutar todas las instrucciones que componen el lote. Hay dos mtodos bsicos de iniciar procesos por lotes en SQL Server.

1.- GO Las utilidades de SQL Server interpretan el comando GO como una seal para iniciar el envo del lote actual de instrucciones de Transact-SQL a SQL Server. Un comando GO enva lotes de instrucciones de Transact-SQL a las herramientas y utilidades. No se trata, realmente, de una instruccin de Transact-SQL. Cuestiones a tener en cuenta con goEl lote actual de instrucciones incluye todas las que se han escrito desde el comando GO anterior o desde el inicio de la sesin.

Una instruccin de Transact-SQL no puede ocupar la misma lnea que el comando GO, aunque esa lnea s puede contener comentarios. 17Por ejemplo, algunas instrucciones del Lenguaje de definicin de datos (DDL) deben ejecutarse de forma independiente de otras instrucciones de Transact-SQL, por lo que se separan unas de otras por medio de un comando GO.

El mbito de las variables locales (definidas por el usuario) se limita a un lote, con lo que no se puede hacer referencia a ellas despus de un comando GO. 2.- EXEC La directiva EXEC se usa para ejecutar una funcin definida por el usuario, un procedimiento de sistema, un procedimiento almacenado definido por el usuario o un procedimiento almacenado extendido. Tambin puede controlar la ejecucin de una cadena de caracteres dentro de un lote de Transact-SQL. Se pueden pasar parmetros en forma de argumentos y tambin se puede asignar un estado de retorno.comentarios

Identificadores

Directrices de denominacin para los identificadores

REGLASCuando asigne nombres a los objetos de la base de datos, debe:

Poner nombres cortos.

Utilizar nombres significativos cuando sea posible.

Utilizar una convencin de denominacin clara y sencilla. OTRAS REGLASPor ejemplo, puede quitar las vocales si el nombre de un objeto debe parecerse a una palabra clave.

Utilizar un identificador que distinga el tipo de objeto, especialmente para las vistas y los procedimientos almacenados. Hacer que los nombres de los objetos y de los usuarios sean nicos. Por ejemplo, evite crear una tabla sales y una funcin sales en la misma base de datos. Tipos de datos

DEFINICIONSon atributos que especifican el tipo de informacin que se puede guardar en una columna, parmetro o variable.

SQL Server proporciona tipos de datos suministrados por el sistema (bsicos), aunque puede crear otros tipos de datos adicionales. stos son algunos ejemplos de tipos de datos bsicos: Td: Nmeros Este tipo de datos corresponde a los valores numricos e incluye enteros como int, tinyint, smallint y bigint. Tambin incluye valores decimales especficos como numeric, decimal, money y smallmoney. Y, finalmente, incluye valores de coma flotante como float y real. Fechas Este tipo de datos representa fechas o intervalos de tiempo. Los dos tipos de datos de fechas son datetime, que tiene una precisin de 0,333 milisegundos, y smalldatetime, que tiene una precisin de 1 minuto. Caracteres Este tipo de datos se usa para representar datos formados por caracteres o cadenas de caracteres. Incluye tipos de datos para cadenas de caracteres de ancho fijo, como char y nchar, as como tipos de datos para cadenas de caracteres de ancho variable, como varchar y nvarchar. BinarioEste tipo de datos es muy similar a los tipos de datos de caracteres en cuanto a almacenamiento y estructura, la diferencia es que los datos que contiene se tratan como si fueran una serie de valores de byte (octeto). Los tipos de datos binarios incluyen binary y varbinary. El tipo de datos bit indica un valor de un solo bit, es decir cero o uno. El tipo de datos rowversion indica un valor binario especial de 8 bytes que es nico dentro de una base de datos. Variaciones de SQL Este tipo de datos puede representar valores de diversos tipos de datos compatibles con SQL Server, exceptuando text, ntext, rowversion y otros valores sql_variant. TExto e imagen Estos tipos de datos corresponden a estructuras de objetos binarios grandes (BLOB, Binary Large Object) que representan tipos de datos de longitud fija y variable en los que se pueden guardar datos binarios y caracteres Unicode y no Unicode, como image, text y ntext. Tablas Este tipo de datos representa una estructura de tabla. En SQL Server 2000 es posible guardar una tabla dentro de un campo. Cursores Este tipo de datos se usa para programar dentro de procedimientos almacenados y con interfaces de cliente de bajo nivel. El tipo de datos cursor no se usa nunca en una instruccin DDL. Variables

Las variables son elementos del lenguaje con valores asignados. En Transact-SQL se pueden utilizar variables locales y globales. Una variable local es una variable definida por el usuario en una instruccin

DECLARE; se le asigna un valor inicial en una instruccin SET o SELECT y, despus, se utiliza en la instruccin, programa por lotes o procedimiento en el que se declar. Una variable local se identifica mediante un smbolo arroba (@) que precede a su nombre mientras que una variable global incluye dos smbolos arroba delante de su nombre.

Sintaxis DECLARE {@variableLocal tipoDatos} [,...n] SET @nombreVariableLocal = expresin

Ejemplo Crear las variables locales @EmpID y @vlname, asignar un valor a @vlname y, a continuacin, asignar un valor a @EmpID Consultar en la base de datos Northwind para seleccionar el registro que contiene el valor de la variable local @vlname.

USE northwind DECLARE @EmpID varchar(11) ,@vlName char(20) SET @vlname = 'Dodsworth'

SELECT @EmpID = employeeid FROM employees WHERE LastName = @vlname SELECT @EmpID AS EmployeeID GO

Resultado EmployeeID 9 (1 fila afectada) CASESe utiliza para brindar un tipo de lgica "si-entonces-otro" para SQL. Su sintaxis es:

SELECT CASE ("nombre_columna") WHEN "condicin1" THEN "resultado1" WHEN "condicin2" THEN "resultado2" ... [ELSE "resultadoN"] ENDFROM "nombre_tabla";

Store_NameSalesTxn_DateLos Angeles10005-Jan-1999San Diego25007-Jan-1999Los Angeles30008-Jan-1999Boston70008-Jan-1999En nuestra TablaStore_Informationde ejemplo,TablaStore_Informationsi deseamos multiplicar las sumas de ventas de 'Los Angeles' por 2 y las sumas de ventas de 'San Diego' por 1,5, ingresamos, 1500

SELECT Store_Name, CASE Store_Name WHEN 'Los Angeles' THEN Sales * 2 WHEN 'San Diego' THEN Sales * 1.5 ELSE Sales END"Nuevas Ventas",Txn_DateFROM Store_Information;

Resultado:

Store_name Nuevas VentasTxn_DateLos Angeles300005-Jan-1999San Diego37507-Jan-1999San Francisco30008-Jan-1999Boston70008-Jan-1999