SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Guía rápida SQL Server 2000                                    División Empresas




Unidad 4: Introducción a Transact-SQL
Panorama general.
Transact-SQL es un lenguaje de definición, manipulación y control de datos.

El lenguaje de programación Transact-SQL
El American National Standards Institute (ANSI) y el Internacional Standards
Organization (ISO) definieron estándares para SQL. Utilizando Transact-SQL,
Microsoft SQL Server 2000 soporta el nivel de implementación de SQL-92, El
SQL estándar publicado por ANSI e ISO en 1992. Transact SQL también contiene
algunas extensiones que incrementan su funcionalidad.

Tipos de sentencias de Transact-SQL
Para escribir y ejecutar una sentencia de Transact- SQL, deberá utilizar:
   • Sentencias del Lenguaje de Definición de Datos (DDL), que permiten
      crear objetos en la base de datos.
   • Sentencias del Lenguaje de Control de Datos (DCL), que permiten
      determinar quien puede ver o modificar los datos.
   • Sentencias del Lenguaje de Manipulación de Datos (DML), que permiten
      consultar y modificar los datos.

Sentencias del Lenguaje de Definición de Datos
Permiten crear bases de datos, tablas y tipos de datos definidos por el usuario.
También puede utilizar las sentencias DDL para administrar los objetos de
bases de datos. Algunas sentencias DDL son:

   •   CREATE nombre_objeto
   •   ALTER nombre_objeto
   •   DROP nombre_objeto

Por defecto, solo los miembros de sysadmin, dbcreator, db_owner, o
db_ddladmin pueden ejecutar sentencias DDL.

Ejemplo
USE Northwind
CREATE TABLE custumer
(cust_id int, company varchar(40), contact varchar(30), phone char(12))
GO




Unidad 4                            -1-                   www.icam.com.mx
Guía rápida SQL Server 2000                                     División Empresas


Sentencias del Lenguaje de Control de Datos
Son utilizadas para cambiar los permisos asociados con un usuario de bases de
datos. La siguiente tabla describe las sentencias DCL

Sentencia       Descripción
GRANT           Crea una entrada en el sistema de seguridad que permite a un
                usuario de la base de datos actual trabajar con datos de la base
                de datos actual o ejecutar instrucciones Transact-SQL
                específicas.
DENY            Crea una entrada en el sistema de seguridad que deniega un
                permiso de una cuenta de seguridad en la base de datos actual
                e impide que la cuenta de seguridad herede los permisos a
                través de los miembros de su grupo o función.
REVOKE          Quita un permiso otorgado o denegado previamente de un
                usuario de la base de datos actual.

Ejemplo
USE Northwind
GRANT SELECT ON products TO public
GO

Sentencias del Lenguaje de Manipulación de Datos
Estas sentencias trabajan con los datos en la base de datos. Puede cambiar
datos o recuperar información. Las sentencias DML incluyen:

   •   SELECT
   •   INSERT
   •   UPDATE
   •   DELETE

Ejemplo
USE Northwind
SELECT categoryid, productname, productid, unitprice
FROM products
GO




Unidad 4                             -2-                   www.icam.com.mx
Guía rápida SQL Server 2000                                     División Empresas



Sintaxis de los elementos de Transact-SQL
Las sentencias DML son construidas utilizando un número de elemento de
sintaxis. Estos incluyen:

Directivas de Batch
Un Batch es una colección de una o más instrucciones SQL que el cliente envía
en una unidad. Hay dos métodos básicos para controlar procesos por lotes:

GO
Las herramientas de SQL Server interpretan GO como una señal de que deben
enviar el lote actual de instrucciones Transact-SQL a SQL Server. Una
instrucción Transact-SQL no puede ocupar la misma línea que un comando GO,
GO no es una instrucción de Transact-SQL.

EXEC
Ejecuta una función definida por el usuario y devuelve valores escalares, un
procedimiento del sistema, un procedimiento almacenado definido por el
usuario o un procedimiento almacenado extendido. Admite también la
ejecución de una cadena de caracteres en un proceso por lotes Transact-SQL.

Comentarios
Los comentarios son cadenas de texto incluidas en el código de un programa
que no se ejecutan. Pueden ser utilizados de dos formas, en línea con la
sentencia o como un bloque.

Comentarios en línea
Puede crear comentarios en línea utilizando dos guiones (--).
Ejemplo

USE northwind
SELECT productname
 , (unitsinstock – unitsonorder) -- Calcula el inventario
 , supplierid
FROM products
GO




Unidad 4                              -3-                   www.icam.com.mx
Guía rápida SQL Server 2000                                     División Empresas


Comentarios en bloque
Puede crear un bloque de comentarios colocando el carácter (/*) al inicio del
bloque y finalizar el comentario con el carácter (*/).

Ejemplo

/*
Este código recupera todas las líneas de la tabla productos y muestra el precio
unitario, el precio unitario se incrementado un 10%, y el nombre del producto.
*/
USE northwind
SELECT unitprice, (unitprice * 1.1), productname
FROM products
GO

Identificadores
SQL Server proporciona una serie de reglas para nombrar identificadores
normales de objetos y un método de utilizar delimitadores para identificadores
que no son normales.

Identificadores normales
Reglas de los identificadores normales:

   •   El primer carácter debe ser alguno de los siguientes:
           o Una letra, de la "a" a la "z" y de la "A" a la "Z.
           o El signo de subrayado (_), arroba (@) o número (#).
             Un identificador que empieza con el signo arroba indica un
             parámetro o una variable local. Un identificador que empieza con
             un signo número indica una tabla o procedimiento temporal. Un
             identificador que empieza con un signo de número doble (##)
             indica un objeto temporal global.
   •   Los caracteres subsiguientes pueden ser:
           o Letras
           o Números
           o El signo de arroba, dólar ($), número o subrayado.
   •   El identificador no debe ser una palabra reservada de Transact-SQL. SQL
       Server reserva las versiones en mayúsculas y minúsculas de las palabras
       reservadas.
   •   No se permiten los caracteres especiales o los espacios incrustados.




Unidad 4                            -4-                    www.icam.com.mx
Guía rápida SQL Server 2000                                         División Empresas


Identificadores delimitados
Si un identificador cumple todas las reglas de formato de los identificadores, se
puede utilizar con o sin delimitadores. Si un identificador no cumple las reglas
de formato de los identificadores normales, debe aparecer siempre delimitado.

Los identificadores delimitados se utilizan en estas situaciones:

   •   Cuando los nombres contienen espacios
   •   Cuando las palabras reservadas se usan para los nombres de objeto o
       partes de los nombres de objeto.

   •   Los identificadores entre corchetes aparecen delimitados por corchetes
       ([ ]):
       SELECT * FROM [Blanks In Table Name]

   •   Los identificadores entrecomillados aparecen delimitados por comillas
       dobles ("):
       SELECT * FROM "Blanks in Table Name"

       Los identificadores entre comillas dobles sólo son válidos si la opción
       SET QUOTED_IDENTIFIER es ON.

Sugerencias para nombrar identificadores
   •   Utilice nombres cortos
   •   Utilice nombres que tengan un significado
   •   Utilice las convenciones para nombrar identificadores
   •   Use Un identificador que distinga el tipo de objeto
           o Vistas
           o Procedimientos almacenados
   •   Utilice nombres de objetos y nombres de usuarios únicos
           o Tabla Ventas y rol Ventas


Tipos de datos
Los tipos de datos son los tipos de valores que se pueden almacenar en una
base de datos.

Números
Este tipo de datos representa valores numéricos e incluye enteros como int,
tinyint, smallint y bigint. También incluyen valores con precisión decimal
como es numeric, decimal, money, smallmoney. Estos incluyen valores con
punto flotante como son float y real.




Unidad 4                             -5-                    www.icam.com.mx
Guía rápida SQL Server 2000                                      División Empresas


Fechas
Este tipo de datos representa fechas y horas. Los dos tipos de fechas son
datetime, que tiene una precisión de 3. 33 milisegundos, y smalldatetime,
que tiene una precisión de intervalos de un minuto.

Caracteres
Este tipo de datos es utilizado para representar datos de tipo carácter o cadena
e incluye tipos de datos de tamaño fijo como son char y nchar, así como tipos
de datos de longitud variable como son varchar y nvarchar.

Binario
Este tipo de datos es muy similar al tipo carácter en términos de
almacenamiento y estructura, excepto que el contenido de los datos son una
serie de bytes. El tipo de dato binario incluye binary y varbinary. Un dato de
tipo bit indica un valor simple de cero o uno.

Identificadores únicos
Este tipo especial de datos es un uniqueidentifier que representa un
identificador global único (GUID), el cual es un valor hexadecimal de 16-bytes.

SQL Variant
Este tipo de dato puede representar valores de varios tipos soportados por SQL
Server, con excepción de text, ntext, image, timestamp y rowversion.

Imagen y texto
Estos tipos de datos son estructuras de objetos largos binarios (BLOB) que
representan tipos de datos de longitud fija y variable para almacenar
caracteres no-Unicode y Unicode y datos binarios, como es image, text y ntext.

Tablas
El tipo de dato tabla puede ser utilizado sólo para definir varios locales de tipo
tabla o retornar valores de una función definida por el usuario.

Tipos de datos definido por el usuario
Este tipo de dato es creado por el administrador de base de datos y está
basado en tipos de datos del sistema. Utilice tipos de datos definidos por el
usuario cuando algunas tablas deban almacenar el mismo tipo de datos en una
columna y quiera asegurarse que las columnas tienen exactamente el mismo
tipo de datos, longitud.




Unidad 4                             -6-                    www.icam.com.mx
Guía rápida SQL Server 2000                                   División Empresas



Variables
Las variables son elementos del lenguaje con valores asignados. Puede utilizar
variables locales en Transact-SQL.

Una variable local es definida por el usuario utilizando la sentencia DECLARE,
asignando en un valor inicial en un SET o SELECT, y entonces utilizarla con la
sentencia o procedimiento por lotes en el cual fue declarada. El ámbito de una
variable local abarca el procedimiento en el cual fue definida. Para una
variable local se utiliza un símbolo @antes del nombre.

Sintaxis

DECLARE {@ variable_local tipo_dato} [...n]
SET @nombre_variable_local = expresión

Ejemplo

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 row(s) affected)




Unidad 4                           -7-                   www.icam.com.mx
Guía rápida SQL Server 2000                                  División Empresas



Funciones del sistema

Puede utilizar funciones, incluyendo funciones de sistema, en cualquier parte
que una expresión lo permita en una consulta. Transact-SQL proporciona
algunas funciones que retornan información.
Aquí hay tres tipos de funciones con las que debería estar familiarizado:

Funciones de agregado
Operan sobre una colección de valores y devuelven un solo valor de resumen.

Ejemplo

USE northwind
SELECT AVG(unitprice) AS AvgPrice
FROM products
GO

Resultado

AvgPrice
28.8663
(1 row(s) affected)


Funciones escalares
Operan sobre un valor y después devuelven otro valor. Las funciones escalares
se pueden utilizar donde la expresión sea válida. Esta tabla clasifica las
funciones escalares.

Categoría de la       Explicación
función
Funciones        de  Devuelven información acerca de la configuración
configuración        actual.
Funciones de cursor  Devuelven información acerca de los cursores.
Funciones de fecha   Realizan una operación sobre un valor de entrada de
y hora               fecha u hora, y devuelven un valor de cadena, numérico
                     o de fecha y hora.
Funciones            Realizan un cálculo sobre valores de entrada
matemáticas          proporcionados como parámetros de la función y
                     devuelven un valor numérico.
Funciones         de Devuelven información acerca de la base de datos y los
metadatos            objetos de la base de datos.
Funciones         de Devuelven información acerca de usuarios y funciones.
seguridad

Unidad 4                            -8-                 www.icam.com.mx
Guía rápida SQL Server 2000                                   División Empresas


Funciones         de Realizan una operación sobre un valor de entrada de
cadena                cadena (char o varchar) y devuelven un valor de cadena
                      o numérico.
Funciones         del Realizan operaciones y devuelven información acerca
sistema               de valores, objetos y configuraciones de Microsoft®
                      SQL Server™.
Funciones         de Devuelven información estadística acerca del sistema.
estadísticas      del
sistema
Funciones de texto e Realizan una operación sobre un valor o una columna de
imagen               texto o imagen, y devuelven información acerca del
                     valor.

Ejemplo

USE northwind
SELECT DB_NAME() AS ‘database’
GO

Resultado

Database
Northwind
(1 row(s) affected)


Ejemplos de funciones de sistema
Las funciones del sistema son comúnmente utilizadas cuando convierte datos de
tipo fecha de un formato de un país a otro.

Ejemplo 1
Este ejemplo demuestra como puede convertir fechas a diferentes estilos.

SELECT ‘ANSI:’, CONVERT (varchar(30), GETDATE(), 102) AS Style UNION
SELECT ‘japanese:’, CONVERT (varchar(30), GETDATE(), 111) UNION
SELECT ‘European:’, CONVERT (varchar(30), GETDATE(), 113)
GO

Resultado    Estilo
European:    20 Nov 1998 16:44:12:857
Japanese:    11/20/98
ANSI:        1998.11.20




Unidad 4                           -9-                   www.icam.com.mx
Guía rápida SQL Server 2000                                     División Empresas


Ejemplo 2
Este ejemplo utiliza la opción DATEFORMAT de la sentencia SET para formatear
fechas. Esta configuración es utilizada solo en la interpretación de caracteres
tipo cadena que son convertidos a tipo fecha. No tiene efectos en el despliegue
de los valores.

SET DATEFORMAT dmy
GO
DECLARE @vdate datetime
SET @vdate = ‘29/11/98’
SELECT @vdate
GO

Resultado
1998-11-29 00:00:00.000
(1 row(s) affected)

Ejemplo 3
Este ejemplo retorna el nombre de usuario actual y la aplicación que el usuario
está utilizando. El usuario en este ejemplo es un miembro de sysadmin.

USE library
SELECT user_name(), app_name()
GO

Resultado
Dbo       MS SQL Query Analyzer

Ejemplo 4
Este ejemplo determina si la columna firstname en la tabla member de la base
de datos library permite valores nulos.

Un resultado de cero (falso) significa que los valores nulos no son permitidos, y
un resultado de uno (verdadero) significa que los valores nulos son permitidos.
Note que la función OBJECT_ID es incrustada en la función COLUMNPROPERTY.
Esto le permite obtener el objeto id de la tabla member.

USE library
SELECT COLUMNPROPERTY(OBJECT_ID(‘member’), ‘firstname’, ‘allowsNull’)
GO

Resultado
0
(1 row(s) affected)


Unidad 4                            - 10 -                 www.icam.com.mx
Guía rápida SQL Server 2000                                     División Empresas



Operadores
Los operadores son símbolos que realizan cálculos matemáticos,
concatenaciones de cadena, comparaciones entre columnas, constantes y
variables.
Pueden ser combinados y utilizados en condiciones de búsqueda. Cuando se
combinan, el orden en el cual son procesados se basa en la prioridad
establecida.

Tipos de operadores
SQL Server soporta cuatro tipos de operadores:

Aritméticos
Los operadores aritméticos realizan cálculos con columnas numéricas o
constantes. Transact-SQL soporta multiplicación (*), división (/), módulo (%),
suma (+) y resta (-).

Comparación
Los operadores de relación comparan dos expresiones. Las comparaciones
pueden ser entre variables, columnas y expresiones del mismo tipo. Los
operadores de comparación se incluyen en la siguiente tabla.

Operadores                              Significado
=                                       Igual a
>                                       Mayor que
<                                       Menor que
>=                                      Mayor o igual que
<=                                      Menor o igual que
<>                                      No igual que

Concatenación de cadenas
El operador de concatenación de cadenas (+) concatena valores de cadena.

Lógicos
Los operadores lógicos AND, OR y NOT permiten unir condiciones en la
cláusula WHERE.




Unidad 4                           - 11 -                   www.icam.com.mx
Guía rápida SQL Server 2000                                     División Empresas


Niveles de prioridad de los operadores
Si utiliza múltiples operadores (lógicos o aritméticos) para combinar
expresiones, SQL Server procesa los operadores en el orden de su prioridad, lo
cual puede afectar el valor del resultado. Los operadores tienen la siguiente
prioridad de (de más alto más bajo).

Tipo                       Operador                   Símbolo
Agrupar                    Agrupación primaria        ()
Aritmético                 Multiplicativos            */%
Aritmético                 Aditivos                   -+
Otros                      Concatenación              +
Lógico                     NOT                        NOT
Lógico                     AND                        AND
Lógico                     OR                         OR

Expresiones
Las expresiones son una combinación de símbolos y operadores que se evalúan
para generar un simple valor. Pueden ser simples cómo es una constante,
variable, columna o valor escalar o expresiones complejas creadas por la
conexión de una o más expresiones simples con operadores.

Ejemplo
El siguiente ejemplo calcula el monto total de un producto en una orden,
multiplica el precio unitario por la cantidad ordenada, y entonces se filtran los
resultados para aquellos que el monto total es mayor de $10,000.00.

USE northwind
SELECT orderID, ProductID
       ,(UnitPrice * Quantity) as ExtendedAmount
FROM [Order Details]
WHERE (UnitPrice * Quantity) > 1000
GO

Resultado

OrderID                    ProductID                  ExtendedAmount
10353                      38                         10540.0000
10417                      38                         10540.0000
10424                      38                         10329.2000
10865                      38                         15810.0000
10889                      38                         10540.0000
10981                      38                         15810.0000

(6 row(s) affected)


Unidad 4                            - 12 -                 www.icam.com.mx
Guía rápida SQL Server 2000                                      División Empresas


Elementos del lenguaje de control de flujo
Transact-SQL contiene algunos elementos del lenguaje que controlan el flujo
lógico. También contiene la función CASE que permite utilizar condiciones
lógicas en una fila simple con una sentencia SELECT o UPDATE.

Nivel de sentencia
Los siguientes elementos le permiten controlar el flujo lógico con un script:

BEGIN ... END Blocks Estos elementos encierran una serie de sentencias.

IF ... ELSE Blocks Estos elementos especifican que SQL Server deberá
ejecutar la primera alternativa si la condición es verdadera. De lo contrario,
SQL deberá ejecutar la segunda alternativa.

WHILE Constructs Estos elementos ejecutar una sentencia repetidamente
mientras la condición especificada es verdadera. Las sentencias BREAK y
CONTINUE controlan la operación de las sentencias dentro del ciclo WHILE.

Ejemplo 1
Éste ejemplo determina si un cliente tiene alguna orden antes de borrar el
cliente de la lista.

USE northwind
IF EXISTS (SELECT * FROM orders
            WHERE customerid = ‘frank’)
   PRINT ‘*** El cliente no puede ser borrado ***’
ELSE
   BEGIN
     DELETE customers WHERE customerid = ‘frank’
     PRINT ‘*** Cliente eliminado***’
   END
GO

Nivel de fila
Una función CASE evalúa una lista de condiciones y devuelve como resultado
una de las distintas expresiones posibles.

CASE input_expression
  WHEN when_expression THEN result_expression
    [ ...n ]
  [
    ELSE else_result_expression
  ]
END


Unidad 4                            - 13 -                  www.icam.com.mx
Guía rápida SQL Server 2000                                     División Empresas


Ejemplo 2
El siguiente ejemplo declara una variable local, evalúa para ver si es igual a 4,
5, o 6, y si lo es, un contador a través de un ciclo WHILE determina si el valor
actual es un número par o impar.

DECLARE @n tinyint
SET @n = 5
IF (@n BETWEEN 4 and 6)
  BEGIN
    WHILE (@n > 0)
     BEGIN
       SELECT @n AS ‘Numero’
          ,CASE
             WHEN (@N % 2) = 1
               THEN ‘IMPAR’
           ELSE ‘PAR’
           END AS ‘Type’
       SET @n = @n – 1
      END
  END
ELSE
  PRINT ‘NO ANALIZADO’
GO

Resultado

Numero              Tipo
5                   IMPAR
(1 row(s) affected)

Numero              Tipo
4                   PAR
(1 row(s) affected)

Numero              Tipo
3                   IMPAR
(1 row(s) affected)

Numero              Tipo
2                   PAR
(1 row(s) affected)

Numero              Tipo
1                   IMPAR
(1 row(s) affected)

Unidad 4                            - 14 -                 www.icam.com.mx
Guía rápida SQL Server 2000                                    División Empresas




Palabras clave reservadas.
SQL Server reserva ciertas palabras clave para su uso exclusivo.

   •   Nombres de identificadores que tienen significado especial
          o Palabras claves de Transact-SQL
          o Palabras claves de ANSI SQL-92
          o Palabras claves de ODBC
   •   No utilice palabras claves reservadas para nombres de identificadores




Unidad 4                           - 15 -                 www.icam.com.mx

Weitere ähnliche Inhalte

Was ist angesagt?

Lenguaje estructurado de consultas sql
Lenguaje estructurado de consultas sqlLenguaje estructurado de consultas sql
Lenguaje estructurado de consultas sqlCristian Garzon
 
Sql server 2005 (bda)henrry
Sql server 2005 (bda)henrrySql server 2005 (bda)henrry
Sql server 2005 (bda)henrryHENRRYDAVIDS1
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datosLuis Bando
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 

Was ist angesagt? (8)

Lenguaje estructurado de consultas sql
Lenguaje estructurado de consultas sqlLenguaje estructurado de consultas sql
Lenguaje estructurado de consultas sql
 
Sql server 2005 (bda)henrry
Sql server 2005 (bda)henrrySql server 2005 (bda)henrry
Sql server 2005 (bda)henrry
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datos
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Abd3 sql
Abd3 sqlAbd3 sql
Abd3 sql
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 

Ähnlich wie Unidad4 sql

Ähnlich wie Unidad4 sql (20)

Unid2 transact sql 1
Unid2  transact sql 1Unid2  transact sql 1
Unid2 transact sql 1
 
TODO SOBRE SQL
TODO SOBRE SQLTODO SOBRE SQL
TODO SOBRE SQL
 
Tema3
Tema3Tema3
Tema3
 
Sql
SqlSql
Sql
 
Modificaciones De Ansi Sql
Modificaciones De Ansi SqlModificaciones De Ansi Sql
Modificaciones De Ansi Sql
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
Instrucciones Transact Sql
Instrucciones Transact SqlInstrucciones Transact Sql
Instrucciones Transact Sql
 
Instrucciones Transact S Q L
Instrucciones Transact  S Q LInstrucciones Transact  S Q L
Instrucciones Transact S Q L
 
Curso Developer SQL 2012 enfocado a la Certificación 70-641
Curso Developer SQL 2012 enfocado a la Certificación 70-641Curso Developer SQL 2012 enfocado a la Certificación 70-641
Curso Developer SQL 2012 enfocado a la Certificación 70-641
 
LENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQLLENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQL
 
103305862 t-sql
103305862 t-sql103305862 t-sql
103305862 t-sql
 
t-sql
t-sqlt-sql
t-sql
 
04-SQL.pdf
04-SQL.pdf04-SQL.pdf
04-SQL.pdf
 
04-SQLBuenaPresentaciónyConceptos.pdf
04-SQLBuenaPresentaciónyConceptos.pdf04-SQLBuenaPresentaciónyConceptos.pdf
04-SQLBuenaPresentaciónyConceptos.pdf
 
Lenguaje Transact sql
Lenguaje Transact sqlLenguaje Transact sql
Lenguaje Transact sql
 
Investigacion Uno
Investigacion UnoInvestigacion Uno
Investigacion Uno
 
Tsql
TsqlTsql
Tsql
 
SQL (Structured Query Language): Informe de Lectura Unidad 3
SQL (Structured Query Language): Informe de Lectura Unidad 3SQL (Structured Query Language): Informe de Lectura Unidad 3
SQL (Structured Query Language): Informe de Lectura Unidad 3
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 

Kürzlich hochgeladen

Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 

Kürzlich hochgeladen (20)

Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 

Unidad4 sql

  • 1. Guía rápida SQL Server 2000 División Empresas Unidad 4: Introducción a Transact-SQL Panorama general. Transact-SQL es un lenguaje de definición, manipulación y control de datos. El lenguaje de programación Transact-SQL El American National Standards Institute (ANSI) y el Internacional Standards Organization (ISO) definieron estándares para SQL. Utilizando Transact-SQL, Microsoft SQL Server 2000 soporta el nivel de implementación de SQL-92, El SQL estándar publicado por ANSI e ISO en 1992. Transact SQL también contiene algunas extensiones que incrementan su funcionalidad. Tipos de sentencias de Transact-SQL Para escribir y ejecutar una sentencia de Transact- SQL, deberá utilizar: • Sentencias del Lenguaje de Definición de Datos (DDL), que permiten crear objetos en la base de datos. • Sentencias del Lenguaje de Control de Datos (DCL), que permiten determinar quien puede ver o modificar los datos. • Sentencias del Lenguaje de Manipulación de Datos (DML), que permiten consultar y modificar los datos. Sentencias del Lenguaje de Definición de Datos Permiten crear bases de datos, tablas y tipos de datos definidos por el usuario. También puede utilizar las sentencias DDL para administrar los objetos de bases de datos. Algunas sentencias DDL son: • CREATE nombre_objeto • ALTER nombre_objeto • DROP nombre_objeto Por defecto, solo los miembros de sysadmin, dbcreator, db_owner, o db_ddladmin pueden ejecutar sentencias DDL. Ejemplo USE Northwind CREATE TABLE custumer (cust_id int, company varchar(40), contact varchar(30), phone char(12)) GO Unidad 4 -1- www.icam.com.mx
  • 2. Guía rápida SQL Server 2000 División Empresas Sentencias del Lenguaje de Control de Datos Son utilizadas para cambiar los permisos asociados con un usuario de bases de datos. La siguiente tabla describe las sentencias DCL Sentencia Descripción GRANT Crea una entrada en el sistema de seguridad que permite a un usuario de la base de datos actual trabajar con datos de la base de datos actual o ejecutar instrucciones Transact-SQL específicas. DENY Crea una entrada en el sistema de seguridad que deniega un permiso de una cuenta de seguridad en la base de datos actual e impide que la cuenta de seguridad herede los permisos a través de los miembros de su grupo o función. REVOKE Quita un permiso otorgado o denegado previamente de un usuario de la base de datos actual. Ejemplo USE Northwind GRANT SELECT ON products TO public GO Sentencias del Lenguaje de Manipulación de Datos Estas sentencias trabajan con los datos en la base de datos. Puede cambiar datos o recuperar información. Las sentencias DML incluyen: • SELECT • INSERT • UPDATE • DELETE Ejemplo USE Northwind SELECT categoryid, productname, productid, unitprice FROM products GO Unidad 4 -2- www.icam.com.mx
  • 3. Guía rápida SQL Server 2000 División Empresas Sintaxis de los elementos de Transact-SQL Las sentencias DML son construidas utilizando un número de elemento de sintaxis. Estos incluyen: Directivas de Batch Un Batch es una colección de una o más instrucciones SQL que el cliente envía en una unidad. Hay dos métodos básicos para controlar procesos por lotes: GO Las herramientas de SQL Server interpretan GO como una señal de que deben enviar el lote actual de instrucciones Transact-SQL a SQL Server. Una instrucción Transact-SQL no puede ocupar la misma línea que un comando GO, GO no es una instrucción de Transact-SQL. EXEC Ejecuta una función definida por el usuario y devuelve valores escalares, un procedimiento del sistema, un procedimiento almacenado definido por el usuario o un procedimiento almacenado extendido. Admite también la ejecución de una cadena de caracteres en un proceso por lotes Transact-SQL. Comentarios Los comentarios son cadenas de texto incluidas en el código de un programa que no se ejecutan. Pueden ser utilizados de dos formas, en línea con la sentencia o como un bloque. Comentarios en línea Puede crear comentarios en línea utilizando dos guiones (--). Ejemplo USE northwind SELECT productname , (unitsinstock – unitsonorder) -- Calcula el inventario , supplierid FROM products GO Unidad 4 -3- www.icam.com.mx
  • 4. Guía rápida SQL Server 2000 División Empresas Comentarios en bloque Puede crear un bloque de comentarios colocando el carácter (/*) al inicio del bloque y finalizar el comentario con el carácter (*/). Ejemplo /* Este código recupera todas las líneas de la tabla productos y muestra el precio unitario, el precio unitario se incrementado un 10%, y el nombre del producto. */ USE northwind SELECT unitprice, (unitprice * 1.1), productname FROM products GO Identificadores SQL Server proporciona una serie de reglas para nombrar identificadores normales de objetos y un método de utilizar delimitadores para identificadores que no son normales. Identificadores normales Reglas de los identificadores normales: • El primer carácter debe ser alguno de los siguientes: o Una letra, de la "a" a la "z" y de la "A" a la "Z. o El signo de subrayado (_), arroba (@) o número (#). Un identificador que empieza con el signo arroba indica un parámetro o una variable local. Un identificador que empieza con un signo número indica una tabla o procedimiento temporal. Un identificador que empieza con un signo de número doble (##) indica un objeto temporal global. • Los caracteres subsiguientes pueden ser: o Letras o Números o El signo de arroba, dólar ($), número o subrayado. • El identificador no debe ser una palabra reservada de Transact-SQL. SQL Server reserva las versiones en mayúsculas y minúsculas de las palabras reservadas. • No se permiten los caracteres especiales o los espacios incrustados. Unidad 4 -4- www.icam.com.mx
  • 5. Guía rápida SQL Server 2000 División Empresas Identificadores delimitados Si un identificador cumple todas las reglas de formato de los identificadores, se puede utilizar con o sin delimitadores. Si un identificador no cumple las reglas de formato de los identificadores normales, debe aparecer siempre delimitado. Los identificadores delimitados se utilizan en estas situaciones: • Cuando los nombres contienen espacios • Cuando las palabras reservadas se usan para los nombres de objeto o partes de los nombres de objeto. • Los identificadores entre corchetes aparecen delimitados por corchetes ([ ]): SELECT * FROM [Blanks In Table Name] • Los identificadores entrecomillados aparecen delimitados por comillas dobles ("): SELECT * FROM "Blanks in Table Name" Los identificadores entre comillas dobles sólo son válidos si la opción SET QUOTED_IDENTIFIER es ON. Sugerencias para nombrar identificadores • Utilice nombres cortos • Utilice nombres que tengan un significado • Utilice las convenciones para nombrar identificadores • Use Un identificador que distinga el tipo de objeto o Vistas o Procedimientos almacenados • Utilice nombres de objetos y nombres de usuarios únicos o Tabla Ventas y rol Ventas Tipos de datos Los tipos de datos son los tipos de valores que se pueden almacenar en una base de datos. Números Este tipo de datos representa valores numéricos e incluye enteros como int, tinyint, smallint y bigint. También incluyen valores con precisión decimal como es numeric, decimal, money, smallmoney. Estos incluyen valores con punto flotante como son float y real. Unidad 4 -5- www.icam.com.mx
  • 6. Guía rápida SQL Server 2000 División Empresas Fechas Este tipo de datos representa fechas y horas. Los dos tipos de fechas son datetime, que tiene una precisión de 3. 33 milisegundos, y smalldatetime, que tiene una precisión de intervalos de un minuto. Caracteres Este tipo de datos es utilizado para representar datos de tipo carácter o cadena e incluye tipos de datos de tamaño fijo como son char y nchar, así como tipos de datos de longitud variable como son varchar y nvarchar. Binario Este tipo de datos es muy similar al tipo carácter en términos de almacenamiento y estructura, excepto que el contenido de los datos son una serie de bytes. El tipo de dato binario incluye binary y varbinary. Un dato de tipo bit indica un valor simple de cero o uno. Identificadores únicos Este tipo especial de datos es un uniqueidentifier que representa un identificador global único (GUID), el cual es un valor hexadecimal de 16-bytes. SQL Variant Este tipo de dato puede representar valores de varios tipos soportados por SQL Server, con excepción de text, ntext, image, timestamp y rowversion. Imagen y texto Estos tipos de datos son estructuras de objetos largos binarios (BLOB) que representan tipos de datos de longitud fija y variable para almacenar caracteres no-Unicode y Unicode y datos binarios, como es image, text y ntext. Tablas El tipo de dato tabla puede ser utilizado sólo para definir varios locales de tipo tabla o retornar valores de una función definida por el usuario. Tipos de datos definido por el usuario Este tipo de dato es creado por el administrador de base de datos y está basado en tipos de datos del sistema. Utilice tipos de datos definidos por el usuario cuando algunas tablas deban almacenar el mismo tipo de datos en una columna y quiera asegurarse que las columnas tienen exactamente el mismo tipo de datos, longitud. Unidad 4 -6- www.icam.com.mx
  • 7. Guía rápida SQL Server 2000 División Empresas Variables Las variables son elementos del lenguaje con valores asignados. Puede utilizar variables locales en Transact-SQL. Una variable local es definida por el usuario utilizando la sentencia DECLARE, asignando en un valor inicial en un SET o SELECT, y entonces utilizarla con la sentencia o procedimiento por lotes en el cual fue declarada. El ámbito de una variable local abarca el procedimiento en el cual fue definida. Para una variable local se utiliza un símbolo @antes del nombre. Sintaxis DECLARE {@ variable_local tipo_dato} [...n] SET @nombre_variable_local = expresión Ejemplo 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 row(s) affected) Unidad 4 -7- www.icam.com.mx
  • 8. Guía rápida SQL Server 2000 División Empresas Funciones del sistema Puede utilizar funciones, incluyendo funciones de sistema, en cualquier parte que una expresión lo permita en una consulta. Transact-SQL proporciona algunas funciones que retornan información. Aquí hay tres tipos de funciones con las que debería estar familiarizado: Funciones de agregado Operan sobre una colección de valores y devuelven un solo valor de resumen. Ejemplo USE northwind SELECT AVG(unitprice) AS AvgPrice FROM products GO Resultado AvgPrice 28.8663 (1 row(s) affected) Funciones escalares Operan sobre un valor y después devuelven otro valor. Las funciones escalares se pueden utilizar donde la expresión sea válida. Esta tabla clasifica las funciones escalares. Categoría de la Explicación función Funciones de Devuelven información acerca de la configuración configuración actual. Funciones de cursor Devuelven información acerca de los cursores. Funciones de fecha Realizan una operación sobre un valor de entrada de y hora fecha u hora, y devuelven un valor de cadena, numérico o de fecha y hora. Funciones Realizan un cálculo sobre valores de entrada matemáticas proporcionados como parámetros de la función y devuelven un valor numérico. Funciones de Devuelven información acerca de la base de datos y los metadatos objetos de la base de datos. Funciones de Devuelven información acerca de usuarios y funciones. seguridad Unidad 4 -8- www.icam.com.mx
  • 9. Guía rápida SQL Server 2000 División Empresas Funciones de Realizan una operación sobre un valor de entrada de cadena cadena (char o varchar) y devuelven un valor de cadena o numérico. Funciones del Realizan operaciones y devuelven información acerca sistema de valores, objetos y configuraciones de Microsoft® SQL Server™. Funciones de Devuelven información estadística acerca del sistema. estadísticas del sistema Funciones de texto e Realizan una operación sobre un valor o una columna de imagen texto o imagen, y devuelven información acerca del valor. Ejemplo USE northwind SELECT DB_NAME() AS ‘database’ GO Resultado Database Northwind (1 row(s) affected) Ejemplos de funciones de sistema Las funciones del sistema son comúnmente utilizadas cuando convierte datos de tipo fecha de un formato de un país a otro. Ejemplo 1 Este ejemplo demuestra como puede convertir fechas a diferentes estilos. SELECT ‘ANSI:’, CONVERT (varchar(30), GETDATE(), 102) AS Style UNION SELECT ‘japanese:’, CONVERT (varchar(30), GETDATE(), 111) UNION SELECT ‘European:’, CONVERT (varchar(30), GETDATE(), 113) GO Resultado Estilo European: 20 Nov 1998 16:44:12:857 Japanese: 11/20/98 ANSI: 1998.11.20 Unidad 4 -9- www.icam.com.mx
  • 10. Guía rápida SQL Server 2000 División Empresas Ejemplo 2 Este ejemplo utiliza la opción DATEFORMAT de la sentencia SET para formatear fechas. Esta configuración es utilizada solo en la interpretación de caracteres tipo cadena que son convertidos a tipo fecha. No tiene efectos en el despliegue de los valores. SET DATEFORMAT dmy GO DECLARE @vdate datetime SET @vdate = ‘29/11/98’ SELECT @vdate GO Resultado 1998-11-29 00:00:00.000 (1 row(s) affected) Ejemplo 3 Este ejemplo retorna el nombre de usuario actual y la aplicación que el usuario está utilizando. El usuario en este ejemplo es un miembro de sysadmin. USE library SELECT user_name(), app_name() GO Resultado Dbo MS SQL Query Analyzer Ejemplo 4 Este ejemplo determina si la columna firstname en la tabla member de la base de datos library permite valores nulos. Un resultado de cero (falso) significa que los valores nulos no son permitidos, y un resultado de uno (verdadero) significa que los valores nulos son permitidos. Note que la función OBJECT_ID es incrustada en la función COLUMNPROPERTY. Esto le permite obtener el objeto id de la tabla member. USE library SELECT COLUMNPROPERTY(OBJECT_ID(‘member’), ‘firstname’, ‘allowsNull’) GO Resultado 0 (1 row(s) affected) Unidad 4 - 10 - www.icam.com.mx
  • 11. Guía rápida SQL Server 2000 División Empresas Operadores Los operadores son símbolos que realizan cálculos matemáticos, concatenaciones de cadena, comparaciones entre columnas, constantes y variables. Pueden ser combinados y utilizados en condiciones de búsqueda. Cuando se combinan, el orden en el cual son procesados se basa en la prioridad establecida. Tipos de operadores SQL Server soporta cuatro tipos de operadores: Aritméticos Los operadores aritméticos realizan cálculos con columnas numéricas o constantes. Transact-SQL soporta multiplicación (*), división (/), módulo (%), suma (+) y resta (-). Comparación Los operadores de relación comparan dos expresiones. Las comparaciones pueden ser entre variables, columnas y expresiones del mismo tipo. Los operadores de comparación se incluyen en la siguiente tabla. Operadores Significado = Igual a > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que <> No igual que Concatenación de cadenas El operador de concatenación de cadenas (+) concatena valores de cadena. Lógicos Los operadores lógicos AND, OR y NOT permiten unir condiciones en la cláusula WHERE. Unidad 4 - 11 - www.icam.com.mx
  • 12. Guía rápida SQL Server 2000 División Empresas Niveles de prioridad de los operadores Si utiliza múltiples operadores (lógicos o aritméticos) para combinar expresiones, SQL Server procesa los operadores en el orden de su prioridad, lo cual puede afectar el valor del resultado. Los operadores tienen la siguiente prioridad de (de más alto más bajo). Tipo Operador Símbolo Agrupar Agrupación primaria () Aritmético Multiplicativos */% Aritmético Aditivos -+ Otros Concatenación + Lógico NOT NOT Lógico AND AND Lógico OR OR Expresiones Las expresiones son una combinación de símbolos y operadores que se evalúan para generar un simple valor. Pueden ser simples cómo es una constante, variable, columna o valor escalar o expresiones complejas creadas por la conexión de una o más expresiones simples con operadores. Ejemplo El siguiente ejemplo calcula el monto total de un producto en una orden, multiplica el precio unitario por la cantidad ordenada, y entonces se filtran los resultados para aquellos que el monto total es mayor de $10,000.00. USE northwind SELECT orderID, ProductID ,(UnitPrice * Quantity) as ExtendedAmount FROM [Order Details] WHERE (UnitPrice * Quantity) > 1000 GO Resultado OrderID ProductID ExtendedAmount 10353 38 10540.0000 10417 38 10540.0000 10424 38 10329.2000 10865 38 15810.0000 10889 38 10540.0000 10981 38 15810.0000 (6 row(s) affected) Unidad 4 - 12 - www.icam.com.mx
  • 13. Guía rápida SQL Server 2000 División Empresas Elementos del lenguaje de control de flujo Transact-SQL contiene algunos elementos del lenguaje que controlan el flujo lógico. También contiene la función CASE que permite utilizar condiciones lógicas en una fila simple con una sentencia SELECT o UPDATE. Nivel de sentencia Los siguientes elementos le permiten controlar el flujo lógico con un script: BEGIN ... END Blocks Estos elementos encierran una serie de sentencias. IF ... ELSE Blocks Estos elementos especifican que SQL Server deberá ejecutar la primera alternativa si la condición es verdadera. De lo contrario, SQL deberá ejecutar la segunda alternativa. WHILE Constructs Estos elementos ejecutar una sentencia repetidamente mientras la condición especificada es verdadera. Las sentencias BREAK y CONTINUE controlan la operación de las sentencias dentro del ciclo WHILE. Ejemplo 1 Éste ejemplo determina si un cliente tiene alguna orden antes de borrar el cliente de la lista. USE northwind IF EXISTS (SELECT * FROM orders WHERE customerid = ‘frank’) PRINT ‘*** El cliente no puede ser borrado ***’ ELSE BEGIN DELETE customers WHERE customerid = ‘frank’ PRINT ‘*** Cliente eliminado***’ END GO Nivel de fila Una función CASE evalúa una lista de condiciones y devuelve como resultado una de las distintas expresiones posibles. CASE input_expression WHEN when_expression THEN result_expression [ ...n ] [ ELSE else_result_expression ] END Unidad 4 - 13 - www.icam.com.mx
  • 14. Guía rápida SQL Server 2000 División Empresas Ejemplo 2 El siguiente ejemplo declara una variable local, evalúa para ver si es igual a 4, 5, o 6, y si lo es, un contador a través de un ciclo WHILE determina si el valor actual es un número par o impar. DECLARE @n tinyint SET @n = 5 IF (@n BETWEEN 4 and 6) BEGIN WHILE (@n > 0) BEGIN SELECT @n AS ‘Numero’ ,CASE WHEN (@N % 2) = 1 THEN ‘IMPAR’ ELSE ‘PAR’ END AS ‘Type’ SET @n = @n – 1 END END ELSE PRINT ‘NO ANALIZADO’ GO Resultado Numero Tipo 5 IMPAR (1 row(s) affected) Numero Tipo 4 PAR (1 row(s) affected) Numero Tipo 3 IMPAR (1 row(s) affected) Numero Tipo 2 PAR (1 row(s) affected) Numero Tipo 1 IMPAR (1 row(s) affected) Unidad 4 - 14 - www.icam.com.mx
  • 15. Guía rápida SQL Server 2000 División Empresas Palabras clave reservadas. SQL Server reserva ciertas palabras clave para su uso exclusivo. • Nombres de identificadores que tienen significado especial o Palabras claves de Transact-SQL o Palabras claves de ANSI SQL-92 o Palabras claves de ODBC • No utilice palabras claves reservadas para nombres de identificadores Unidad 4 - 15 - www.icam.com.mx