Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*1. Crear una función que devuelva el numero de empleados*/
- go
- CREATE FUNCTION fn_q_emp(/*parametros*/)
- returns int as
- begin
- /*Declarar variables (comienza con @)*/
- declare @qemp int
- /*Query*/
- select @qemp=Count(e.EmployeeID)
- from Employees e
- /*Retornar variable*/
- return @qemp
- end
- go
- select dbo.fn_q_emp()
- /*2. Crear una función que devuelva el número de subordinados un jefe (Empleado)*/
- go
- CREATE FUNCTION fn_q_subj2(@jefeID int)
- returns int as
- begin
- declare @numemp int
- select @numemp=count(e.EmployeeID)
- from employees e join employees j on e.ReportsTo=j.EmployeeID
- where j.EmployeeID=@jefeID
- return @numemp
- end
- go
- select dbo.fn_q_subj2(5) as Subordinados
- /*3. Crear una función que liste el número de órdenes por empleado, si solo se conoce parte del nombre del empleado.*/
- go
- go
- CREATE FUNCTION fn_OrdxEmpName(@firstletters nvarchar(10))
- returns TABLE as
- return
- (
- select e.EmployeeID, e.FirstName, COUNT(o.OrderID) as QOrdenes
- from Employees e join Orders o on e.EmployeeID=o.EmployeeID
- where e.FirstName LIKE @firstletters
- group by e.EmployeeID, e.FirstName
- )
- select *
- from fn_OrdxEmpName('%A%A%')
- /* 4. Crear una función que liste para un País (Parámetro de entrada), el Nombre de la compañía (CUSTOMERS),
- Ciudad (CUSTOMERS), País (CUSTOMERS), Nombre de Producto, Cantidad (QUANTITY), Precio Unitario y Descuento de Producto.*/
- CREATE FUNCTION fn_ordenes(@pais nvarchar(15))
- returns table as
- return
- (select c.CompanyName, c.City, c.Country, p.ProductName, od.Quantity, p.UnitPrice, od.Discount
- from Customers c join Orders o on o.CustomerID=c.CustomerID join [Order Details] od on od.OrderID=o.OrderID join Products p on p.ProductID=od.ProductID
- where c.Country like @pais)
- select *
- from dbo.fn_ordenes('c%')
- /*5. Ejecute la función Cos(0), luego la función Getdate( ) repetidas veces*/
- select cos(0) --DETERMINISTICA
- select getdate() --NO DETERMINISTICA
- /*6. Crear un procedimiento almacenado que liste el nombre de la compañía, nombre del contacto, ciudad y número de teléfono de los clientes*/
- --PROCEDIMIENTO ALMACENADO=PROCEDIMIENTO=PROCEDURE=STORE PROCEDURE
- go
- create procedure sp_detalle_clientes /*parametro sin paréntesis*/
- as
- select c.CompanyName, c.ContactName, c.City, c.Phone
- from customers c
- go
- exec sp_detalle_clientes
Advertisement
Add Comment
Please, Sign In to add comment