Beruflich Dokumente
Kultur Dokumente
VARIABLES EN T-SQL
Definicin
Son valores que se identifican con un Nombre, denominados Identificadores;
sobre los que se pueden realizar modificaciones.
Sintaxis
DECLARE {@VariableLocal tipoDatos}[, n]
SET @NombreVariableLocal = Expresin
Ejemplo:
DECLARE @Nombre varchar(50)
SET @Nombre = www.microsoft.com/sql
PRINT @Nombre
Asignacin de Variables utilizando SET
Use NorthWind
Resultado:
Go
DECLARE @Apellidos varchar(50)
SET @Apellidos = (select LastName
From Employees
Where EmployeeID= 4)
PRINT @Apellidos
Go
Asignacin de Variables utilizando SELECT
Use NorthWind
Go
DECLARE @Nombre varchar(50),
@Apellidos varchar(50)
SELECT @Nombre=FirstName,
@Apellidos=LastName
From Employees
Where EmployeeID=4
PRINT 'Nombre: ' + @Nombre
PRINT 'Apellido: ' + @Apellidos
Go
Use NorthWind
Pgina 1
Go
DECLARE @Nombre varchar(50),
@Apellidos varchar(50)
DECLARE CDATOS CURSOR
for
Select FirstName, LastName
From Employees
OPEN CDATOS
FETCH CDATOS INTO @Nombre, @Apellidos
While (@@FETCH_STATUS = 0)
Begin
Print 'Nombre: ' + @Nombre
Print 'Apellidos: ' + @Apellidos
Print ' '
FETCH CDATOS INTO @Nombre,
@Apellidos
End
CLOSE CDATOS
DEALLOCATE CDATOS
Go
OPERADORES T-SQL
TIPO
Aritmtico
OPERADOR
+, -, *, /, **, %
Relacionales
Lgicos
Concatenaci
n
ALL
ANY
BETWEEN
LIKE
NOT
SOME
ESTRUCTURAS DE CONTROL
Pgina 2
1. Estructura Condicional IF
IF (<Expresin Booleana>)
Begin
.
Bloque de
Sentencias
.
End
ELSE IF(<Expresin Booleana>)
Begin
.
Bloque de
Sentencias
.
End
ELSE
Begin
.
Bloque de
Sentencias
.
End
Ejemplo
Use NorthWind
Go
create table Paises
(PAI_codigo int not null,
PAI_nombre varchar(50) Null)
Go
Insert Into Paises
Values(1, 'Per')
Insert Into Paises
Values(2, 'Brasil')
Insert Into Paises
Values(3, 'Uruguay')
Go
-- Si Cdigo de Pas existe; Se actualizar el Nombre; de lo contrario se
Agregar el nuevo Pas
DECLARE @CodPais int,
@Nombre varchar(50)
SET @CodPais = 4
SET @Nombre =
'Bolivia' IF
EXISTS(select *
from Paises
where PAI_codigo = @CodPais)
Begin
UPDATE Paises
SET PAI_codigo = @Nombre
Pgina 3
Pgina 4
[CONTINUE]
{Bloque de sentencias}
NOTA: Los bloques de sentencias van entre Begin y End
BREAK: Produce la salida del bucle WHILE ms interno
CONTINUE: Reinicia el bucle WHILE y omite las dems instrucciones
despues de CONTINUE.
Ejemplo:
END CATCH
Pgina 5
Ejemplo:
-- 1. Mostrar un mensaje cuando se detecte un Error
BEGIN TRY
DECLARE @Numerador int,
@Denominador int,
@Resultado int
SET @Numerador = 25
SET @Denominador = 0 -- Este valor se coloca para observar el error
SET @Resultado = @Numerador / @Denominador
PRINT 'Resultado : ' + cast(@Resultado AS Varchar)
END TRY
BEGIN CATCH
IF @@ERROR = 0
PRINT 'No hay Error ....'
ELSE
PRINT 'Error .... Divisin por 0'
END CATCH
Pgina 6