Você está na página 1de 1

/*Seleccionar el codigo de la orden, el codigo del empleado, el nombre del transportista, su /*Se le pide mostrar algunos datos relacionados

/*Se le pide mostrar algunos datos relacionados con las ordenes como el código de la orden, el nombre del
direccion, la ciudad y el pais de las ordenes, ademas mostrar la columna Freight como "FLETE" pero cliente, el apellido del empleado asi como su nombre, la fecha de la orden, el nombre del transportista(tabla
el FLETE solo mostrara el 50% por promoción en las cuales el transportista NO tenga una region shippers) y el flete, para todas aquellas ordenes cuyo FLETE sea mayor a 300 y dentro de ese total solo los
asignada, que el pais sea Francia, Alemania y Belgica, que el codigo del empleado no se encuentre transportistas que comiencen con "F" o "U"*/
entre 1 y 5, que la ciudad del transportista comience con "m" y que su direccion inicie con 12*/
SELECT O.OrderID, C.CompanyName AS CLIENTE,E.LastName,E.FirstName,O.OrderDate,
select OrderID, EmployeeID, ShipName, ShipAddress, ShipCity,ShipCountry,
S.CompanyName AS TRANSPORTISTA,O.Freight
(Freight * 0.5) AS FLETE
FROM Orders AS O
from Orders
JOIN Customers AS C ON O.CustomerID=C.CustomerID
where ShipRegion is null and ShipCountry in ('France','Germany','Belgium')
JOIN Employees AS E ON O.EmployeeID=E.EmployeeID
and EmployeeID not between 1 and 5
JOIN Shippers AS S ON O.ShipVia=S.ShipperID
and ShipCity like 'm%' and ShipAddress like '12%'
where o.Freight> 300 and (s.CompanyName like 'F%' or s.CompanyName like 'u%' )
go
go

/* Crear un procedimiento almacenado al cual llamara "pa_examen3" que selecione el codigo de la /*Dentro de la tabla Shippers se le pide insertar registros mediante un procedimiento
orden, el nombre de la categoria del producto, el nombre del producto y el total aplicando el almacenado al cual llamara "pa_ExtraerCodigo" y mostrar el codigo de cada registro que se vaya
descuento como "VALOR TOTAL" de cada uno de los productos que componen la orden solicitada insertando mediante un parametro de salida, como resultado se mostrara "EL CODIGO ES XX"*/
mediante el procedimiento almacenado*/
---OTRO EJEMPLO---
alter procedure pa_examen3
CREATE proc pa_ExtraerCodigo
@orderid int
@nombre nvarchar(40),@phone nvarchar(24),
as
@codigo int output
select od.OrderID,c.CategoryName, p.ProductName,
as
((od.UnitPrice*od.Quantity)*(1-od.Discount)) AS 'VALOR TOTAL'
insert Shippers (CompanyName,Phone) values (@nombre,@phone)
from [Order Details] AS OD
select top (1) @codigo= ShipperID from Shippers order by ShipperID desc
JOIN Products AS P ON p.ProductID=od.ProductID
go
join Categories as C ON p.CategoryID=c.CategoryID
---PROBANDO---
where od.OrderID=@orderid
declare @recibir int
go
exec pa_ExtraerCodigo 'AA','BB',@recibir OUTPUT
exec pa_examen3 10248
SELECT 'EL CODIGO ES'+' '+STR(@recibir)
go
SELECT * FROM Shippers

delete Shippers where ShipperID>14


pide crear un TRIGGER al cual llamara "tg_BorrarProductos" que impida borrar aquellas categorias que contengan
eliminacion por bloque es decir borrar todos los productos que pertenecen a una determinada categoria, se le
/*En la tabla BCK_PRODUCTO se encuentran productos con su codigo de categoria, lo que se debe hacer es la
---PARA BORRAR (EN ESTE CASO DATOS DE LA TABLA CLIENTES)---

raiserror('NO se permite Borrar esta categoria',15,1)


create trigger tg_BORRARPRODUCTOS on BCK_PRODUCTO

delete bck_producto where categoryid = 4


if (select COUNT(1) from deleted)>6

SELECT * INTO BCK_producto

select * from BCK_producto

drop table BCK_producto


---trigger para borrar---

mas de 6 productos */

rollback

commit

---PROBANDO---

FROM Products
for delete as

begin

else
end

GO
go

go

go

Você também pode gostar