Transaq SQL
Transaq SQL
USE
USE northwind
northwind
CREATE
CREATE TABLE
TABLE customer
customer
(cust_id
(cust_id int,
int, company
company varchar(40),
varchar(40),
contact
contact varchar(30),
varchar(30), phone
phone char(12)
char(12) ))
GO
GO
Instrucciones del Lenguaje de control de datos
USE
USE northwind
northwind
GRANT
GRANT SELECT
SELECT ON
ON products
products TO
TO public
public
GO
GO
Instrucciones del Lenguaje de tratamiento de datos
USE
USE northwind
northwind
SELECT
SELECT categoryid,
categoryid, productname,
productname, productid,
productid, unitprice
unitprice
FROM
FROM products
products
GO
GO
Elementos de la sintaxis de Transact-SQL
Directivas de
Funciones delproceso
sistemapor lotes
Comentarios
Operadores
Identificadores
Expresiones
Tipos de datos
Elementos del lenguaje de control de flujo
Variables clave reservadas
Palabras
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
Comentarios
Comentarios de bloque
Ejemplo
Ejemplo 33
/*
/*
Este
Este código
código devuelve
devuelve todas
todas las
las filas
filas de
de la
la tabla
tabla
products
products yy muestra
muestra el
el precio
precio por
por unidad,
unidad, el
el precio
precio
aumentado
aumentado en
en un
un 10
10 por
por ciento
ciento yy el
el nombre
nombre del
del producto.
producto.
*/
*/
USE
USE northwind
northwind
SELECT
SELECT unitprice,
unitprice, (unitprice
(unitprice ** 1.1),
1.1), productname
productname
FROM
FROM products
products
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 (" ")
Directrices de denominación para los identificadores
Números de SQL
Variaciones
Fechase imagen
Texto
Caracteres
Tablas
Binario
Cursores
Identificadores
Tipos de datos únicos
definidos
(GUID)
por el usuario
Variables
USE
USE northwind
northwind
DECLARE
DECLARE @EmpID
@EmpID varchar(11)
varchar(11)
,@vlName
,@vlName char(20)
char(20)
SET
SET @vlname
@vlname == 'Dodsworth'
'Dodsworth'
SELECT
SELECT @EmpID
@EmpID == employeeid
employeeid
FROM
FROM employees
employees
WHERE
WHERE LastName
LastName == @vlname
@vlname
SELECT
SELECT @EmpID
@EmpID AS
AS EmployeeID
EmployeeID
GO
GO
Funciones del sistema
Funciones de agregado
USE
USE northwind
northwind
SELECT
SELECT AVG
AVG (unitprice)
(unitprice) AS
AS AvgPrice
AvgPrice FROM
FROM products
products
GO
GO
Funciones escalares
USE
USE northwind
northwind
SELECT
SELECT DB_NAME()
DB_NAME() AS
AS 'database‘
'database‘
GO
GO
Funciones de conjunto de filas
SELECT
SELECT **
FROM
FROM OPENQUERY
OPENQUERY
(OracleSvr,
(OracleSvr, 'SELECT
'SELECT name,
name, id
id FROM
FROM owner.titles')
owner.titles')
Ejemplos de función del sistema
Ejemplo 1
SELECT
SELECT 'ANSI:',
'ANSI:', CONVERT(varchar(30),
CONVERT(varchar(30), GETDATE(),
GETDATE(), 102)
102) AS
AS
Style
Style
UNION
UNION
SELECT
SELECT 'Japanese:',
'Japanese:', CONVERT(varchar(30),
CONVERT(varchar(30), GETDATE(),
GETDATE(), 111)
111)
UNION
UNION
SELECT
SELECT 'European:',
'European:', CONVERT(varchar(30),
CONVERT(varchar(30), GETDATE(),
GETDATE(), 113)
113)
GO
GO
Resultado
Style
Style
ANSI:
ANSI: 1998.03.19
1998.03.19
Japanese:
Japanese: 1998/03/19
1998/03/19
European:
European: 19
19Mar
Mar1998
199816:34:40:616
16:34:40:616
Operadores
SELECT
SELECT OrderID,
OrderID, ProductID
ProductID
,(UnitPrice
,(UnitPrice ** Quantity)
Quantity) as
as ExtendedAmount
ExtendedAmount
FROM
FROM [Order
[Order Details]
Details]
WHERE
WHERE (UnitPrice
(UnitPrice ** Quantity)
Quantity) >> 10000
10000
GO
GO
Elementos del lenguaje de control de flujo
Ejemplo
Ejemplo 22
Select
Select Campo1,
Campo1,
Campo2,
Campo2,
Nivel de instrucción Campo3,
Campo3,
{Aqui
{Aqui viene
viene mi
mi intento
intento dede
Bloques If}
If}
(Select
(Select
Bloques IF … ELSE If
If TDC=1
TDC=1 and
and LDC=3
LDC=3 and
and
CCC=4
CCC=4 and
and XCC5
XCC5 THEN
THEN 'Caja1'
'Caja1'
Construcciones WHILE //Aqui
//Aqui evaluo
evaluo ciertos
ciertos
campos...
campos...
Nivel de fila ELSEIF
ELSEIF TDC=1
TDC=1 and
and LDC=3
LDC=3
and
and CCC=4
CCC=4 and
and XCC5
XCC5 AND
CASE expresión SDC<>1
AND
SDC<>1 THEN
THEN 'Caja2'
'Caja2' //Aqui
//Aqui
evaluo
evaluo los
los mismos
mismos campos
campos
mas
mas algun
algun otro...
otro...
ELSEIF
ELSEIF 'Cualquiera'
'Cualquiera'
End)
End) as
as Prueba
Prueba
)) As
As Campo4
Campo4
From
From Tabla
Tabla
Palabras clave reservadas