Está en la página 1de 4

/*iniciamos un intento, terminamos el intento*/

begin try
print 167/0
end try
/*iniciamos la captura de error, terminamos la captura de error*/
begin catch
print 'ocurrio un error: ' + error_message()
end catch

begin try
declare @peso int
set @peso = 'once'
print @peso
end try

begin catch
select ERROR_NUMBER(), 'error al leer el numero', ERROR_MESSAGE()
end catch

begin try
declare @valor1 numeric(8,2),@valor2 numeric(8,2), @division numeric(8,2)
set @valor1 = 50
set @valor2 = 0
set @division = @valor1/@valor2
PRINT 'La division no reporta error'
end try
begin catch
select ERROR_NUMBER() as 'N° de error', ERROR_SEVERITY() as 'Severidad',
ERROR_STATE() as 'Estado',
ERROR_PROCEDURE() as 'Procedimiento', ERROR_LINE() as 'N° de linea', ERROR_MESSAGE()
as 'Mensaje'
end catch

begin try
declare @multiplicando int ,
@multiplicacion int ,
@resultado int

set @multiplicacion = 50
set @multiplicando = 0

--esta linea provoca un error un error de division por 0

set @resultado = @multiplicacion*@multiplicando


print 'controlando el error...'
end try
begin catch
if @@Error =0
begin
---- se ejecuta esta parte!
print 'no hay error'
end
else
begin
print 'hay error'
end
end catch
use Northwind
go

create procedure listaproductos


as
select * from producto
go

begin try
execute listaproductos
end try
begin catch
select ERROR_NUMBER() as 'N° Error', ERROR_MESSAGE() as 'Mensaje'
end catch

--fecha y hora del sistema


select GETDATE() as 'Fecha Actual', SYSDATETIME() as 'Fecha Sistema'
go
-- año nombre del mes y el nombre del dia
select DATENAME(yy,GETDATE()) as año , DATENAME(MM,GETDATE()) AS mes ,
DATENAME(DW,GETDATE()) as dia
go
--dia del mes y el dia del año (hasta 365)
select DATENAME(DD,GETDATE()) as 'dia del mes' , DATENAME(DY,GETDATE()) as 'dia del
año'
go
-- semana del año (de 1 a 52) y numero de dia de la semana
select DATEPART (wk,'26/11/1996') as semana, DATEPART(dw, '26/11/2018') as dia
go

-- ordenes del año 1998


select * from Orders where YEAR (OrderDate) = 1996
go
-- ordenes de octubre, noviembre, diciembre de 1996
select * from Orders where month(OrderDate) in (10,11,12) and year(OrderDate) = 1996
go
-- listado de las ordenes su id o su numero la fecha del orden la fecha de atencion
y la cantidad de dias en que fue atendida
select OrderID, FORMAT(OrderDate, 'dd/mm/yy') as 'fecha emision',
FORMAT(ShippedDate, 'dd/mm/yy') as 'fecha de atencion',
DATEDIFF(d,OrderDate, ShippedDate) as 'dias de atender'
from Orders
go
-- agregando 50 dias a la fecha actual
select DATEADD(d,50,GETDATE())
go

Crea una tabla temporal local


create table #muestra1 (idproducto int, descripcion nvarchar (150))

/*crea la tabla, insertar registros constraint: puede colocar restricciones para


limitar el tipo de dato que puede ingresarse en una tabla, dichas restricciones
pueden especificarse cuando la tabla se crea por primera vez a través de la
instrucción create table o luego crear la tabla a través de las instrucciones
ALTER TABLE.
*/
create table #Prueba
(codigo nchar(4), Descripcion nvarchar(20),
constraint PruebaPK primary key (codigo))
go
/*INSERTAR REGISTROS*/
insert into #Prueba values ('9867','Tablas Gerentes'),
('7499','Datos Gerentes')
go
/*visualizar los datos*/
select *from #Prueba
go

/*crear tabla temporal global*/


create table ##DatosEmpresa1
([codigo de la empresa] nchar(3), [Nombre de la aempresa] nvarchar(100),
empresaDireccion nvarchar(100))
go
/*insertar registros*/
insert into ##DatosEmpresa1 values ('298','TRAINER SQL TEAM','AV. Trainer 4996')
go
select * from ##DatosEmpresa1

/*crear una tabla temporal usando la clausula into de la instruccion select


into: se utiliza para seleccionar datos de una tabla y copiarlos en otra tabla
diferente
se suele utilizar para hacer una copia de seguridad (backup) de los datos de una
tabla.*/
use Northwind
go
select P.ProductID as Idproducto,P.ProductName as [Nombre del producto],P.UnitPrice
as [Precio Unitario],P.UnitsInStock as Stock
into #Listadeprecios1
from Products as P where P.Discontinued = 0 order by P.ProductName
go

select * from #Listadeprecios1

/*BD Northwind
en esta BD los pedidos se envian a traves de tres compañias de transportes: Speedy
Express(1)
United Package(2) y federal Shipping(3). la compañia federal Shipping nos oferta
realizar todo los envios
que hacemos a traves de United Package el precio fijo es de 10$ se decide cambiar
todos los pedidos abiertos
que tienen que ser enviados por United Package para que sean enviados a traves de
federal shipping y aprovechar las
ofertas*/
use Northwind
go
declare @nt datetime
set @nt=GETDATE()
create table #actualizar1 (OrderID int, ShipVia int, Freight money)
insert into #actualizar1 select OrderID, ShipVia, Freight
from Orders where ShipVia=2 and ShippedDate is null
update Orders set ShipVia=3, Freight=10 where OrderID in (select OrderID from
#actualizar1)drop table #actualizar1
print 'operacion completada en: ' + rtrim(cast(datediff(ms,@nt,getdate()) as
char(10)))
+ ' milisegundos'

declare @Tabla table


(
Id INT PRIMARY KEY,
Nombre nvarchar(50) not null
)

insert into @Tabla


select * from Lecturas

select * from @Tabla

create procedure seleccionar


as select *from Products
execute seleccionar

También podría gustarte