1. introduccion a transact-sql

887 views

Published on

  • Be the first to comment

  • Be the first to like this

1. introduccion a transact-sql

  1. 1. Introducción aTransact-SQL
  2. 2. Introducción  E lenguaje de programación Transact-SQL  Tipos de instrucciones de Transact-SQL  Elementos de la sintaxis de Transact-SQL
  3. 3. El lenguaje de programación Transact-SQL  Implementa el estándar ISO del nivel básico de la especificación ANSI SQL-92  Se pueden ejecutar desde cualquier producto que cumpla los requisitos básicos  Incluye una funcionalidad ampliada
  4. 4.  Tipos de instrucciones de Transact-SQL  Instrucciones del Lenguaje de definición de datos  Instrucciones del Lenguaje de control de datos  Instrucciones del Lenguaje de tratamiento de datos
  5. 5. Instrucciones del Lenguaje de definición de datos  Definen los objetos de la base de datos  CREATE nombreObjeto  ALTER nombreObjeto  DROP nombreObjeto  Deben tener los permisos adecuadosUSE northwindUSE northwindCREATE TABLE customerCREATE TABLE customer(cust_id int, company varchar(40),(cust_id int, company varchar(40),contact varchar(30), phone char(12) )contact varchar(30), phone char(12) )GOGO
  6. 6. Instrucciones del Lenguaje de control de datos  Establecer o cambiar los permisos  GRANT  DENY  REVOKE  Deben tener los permisos adecuadosUSE northwindUSE northwindGRANT SELECT ON products TO publicGRANT SELECT ON products TO publicGOGO
  7. 7. Instrucciones del Lenguaje de tratamiento de datos  Las instrucciones DML se utilizan para cambiar datos o recuperar información  SELECT  INSERT  UPDATE  DELETE  Deben tener los permisos adecuadosUSE northwindUSE northwindSELECT categoryid, productname, productid, unitpriceSELECT categoryid, productname, productid, unitpriceFROM productsFROM productsGOGO
  8. 8.  Elementos de la sintaxis de Transact-SQL  Directivas de proceso  Funciones del sistema por lotes  Operadores  Comentarios  Expresiones  Identificadores  Elementos del lenguaje  Tipos de datos de control de flujo  Variables  Palabras clave reservadas
  9. 9. Directivas de proceso por lotes  GO  Envía lotes de instrucciones de Transact-SQL a las herramientas y utilidades  No se trata, realmente, de una instrucción de Transact-SQL  EXEC  Ejecuta una función definida por el usuario, un procedimiento de sistema, un procedimiento almacenado definido por el usuario o un procedimiento almacenado extendido  Controla la ejecución de una cadena de caracteres dentro de un lote de Transact-SQL
  10. 10. Comentarios  Comentarios de línea Ejemplo 1 Ejemplo 1SELECT productnameSELECT productname, (unitsinstock - unitsonorder) -- Calcula el inventario, (unitsinstock - unitsonorder) -- Calcula el inventario, supplierID, supplierIDFROM productsFROM productsGOGO  Comentarios de bloque Ejemplo 3 Ejemplo 3/*/* Este código devuelve todas las filas de la tabla Este código devuelve todas las filas de la tabla products y muestra el precio por unidad, el precio products y muestra el precio por unidad, el precio aumentado en un 10 por ciento y el nombre del producto. aumentado en un 10 por ciento y el nombre del producto.*/*/USE northwindUSE northwindSELECT unitprice, (unitprice * 1.1), productnameSELECT unitprice, (unitprice * 1.1), productnameFROM productsFROM productsGOGO
  11. 11.  Identificadores Identificadores estándar  El primer carácter debe ser un carácter alfabético  Otros caracteres pueden incluir letras, números o símbolos  Los identificadores que comienzan con un símbolo tienen usos especiales Identificadores delimitados  Se utilizan cuando los nombres contienen espacios incrustados  Se utilizan cuando partes de los nombres incluyen palabras reservadas  Deben encerrarse entre corchetes ([ ]) o dobles comillas (" ")
  12. 12. Directrices de denominación para los identificadores  Poner nombres cortos  Utilizar nombres significativos cuando sea posible  Utilizar una convención de denominación clara y sencilla  Utilizar un identificador que distinga el tipo de objeto  Vistas  Procedimientos almacenados  Hacer que los nombres de los objetos y de los usuarios sean únicos  Tabla sales y función sales
  13. 13. Tipos de datos  Números  Variaciones de SQL  Fechas  Texto e imagen  Caracteres  Tablas  Binario  Cursores  Identificadores únicos  Tipos de datos definidos (GUID) por el usuario
  14. 14. Variables  Variable definida por el usuario en una instrucción DECLARE @  Valores asignados con una instrucción SET o SELECT @  Las variables tienen el ámbito Local o GlobalUSE northwindUSE northwindDECLARE @EmpID varchar(11)DECLARE @EmpID varchar(11) ,@vlName char(20) ,@vlName char(20)SET @vlname = DodsworthSET @vlname = DodsworthSELECT @EmpID = employeeidSELECT @EmpID = employeeid FROM employees FROM employees WHERE LastName = @vlname WHERE LastName = @vlnameSELECT @EmpID AS EmployeeIDSELECT @EmpID AS EmployeeIDGOGO
  15. 15.  Funciones del sistema  Funciones de agregadoUSE northwindUSE northwindSELECT AVG (unitprice) AS AvgPrice FROM productsSELECT AVG (unitprice) AS AvgPrice FROM productsGOGO  Funciones escalaresUSE northwindUSE northwindSELECT DB_NAME() AS database‘SELECT DB_NAME() AS database‘GOGO  Funciones de conjunto de filasSELECT *SELECT * FROM OPENQUERY FROM OPENQUERY (OracleSvr, SELECT name, id FROM owner.titles) (OracleSvr, SELECT name, id FROM owner.titles)
  16. 16. Ejemplos de función del sistema Ejemplo 1SELECTSELECT ANSI:, CONVERT(varchar(30), GETDATE(), 102) AS ANSI:, CONVERT(varchar(30), GETDATE(), 102) ASStyleStyleUNIONUNIONSELECTSELECT Japanese:, CONVERT(varchar(30), GETDATE(), 111) Japanese:, CONVERT(varchar(30), GETDATE(), 111)UNIONUNIONSELECTSELECT European:, CONVERT(varchar(30), GETDATE(), 113) European:, CONVERT(varchar(30), GETDATE(), 113)GOGO Resultado Style Style ANSI: ANSI: 1998.03.19 1998.03.19 Japanese: Japanese: 1998/03/19 1998/03/19 European: European: 19 Mar 1998 16:34:40:616 19 Mar 1998 16:34:40:616
  17. 17. Operadores  Tipos de operadores  Aritmético  Comparación  Concatenación de cadenas  Lógico  Niveles de precedencia de los operadores
  18. 18. Expresiones  Combinación de símbolos y operadores  Evaluación de valores escalares simples  El tipo de datos del resultado depende de los elementos que forman la expresiónSELECT OrderID, ProductIDSELECT OrderID, ProductID ,(UnitPrice * Quantity) as ExtendedAmount ,(UnitPrice * Quantity) as ExtendedAmount FROM [Order Details] FROM [Order Details] WHERE (UnitPrice * Quantity) > 10000 WHERE (UnitPrice * Quantity) > 10000GOGO
  19. 19. Elementos del lenguaje de control de flujo Ejemplo 2 Ejemplo 2 DECLARE @n tinyint DECLARE @n tinyint SET @n = 5 SET @n = 5  Nivel de instrucción IF (@n BETWEEN 4 and 6) IF (@n BETWEEN 4 and 6) BEGIN BEGIN  Bloques BEGIN … END WHILE (@n > 0) WHILE (@n > 0) BEGIN BEGIN  Bloques IF … ELSE SELECT @n AS Number SELECT @n AS Number ,CASE ,CASE  Construcciones WHILE WHEN (@n % 2) = 1 WHEN (@n % 2) = 1 THEN ‘ODD THEN ‘ODD ELSE ‘EVEN  Nivel de fila ELSE ‘EVEN END AS Type END AS Type SET @n = @n - 1  CASE expresión SET @n = @n - 1 END END END END ELSE ELSE PRINT ‘NO ANALYSIS‘ PRINT ‘NO ANALYSIS‘ GO GO
  20. 20. Palabras clave reservadas  Nombres de identificadores que tienen un significado especial  Palabras clave de Transact-SQL  Palabras clave ANSI SQL-92  Palabras clave reservadas de ODBC  No utilice palabras clave reservadas para nombres de identificadores

×