Skip to content
# Start coding here... 

Cuando una función es "deterministica" quiere decir que el resuldado que arroje siempre será el mismo dados los mismos parámetros y siendo el mismo estado de la base de datos

SCHEMABINDING

Enlaza el objeto (i.e vista, función, etc.) al esquema de las tablas subyacentes. Cuando se especifica SCHEMABINDING, las tablas base no se pueden modificar de una forma que afecte a la definición del objeto.

Spinner
DataFrameas
df
variable
CREATE OR ALTER FUNCTION dbo.GetRideHrsOneDay (@DateParm date)
RETURNS numeric WITH SCHEMABINDING
AS
BEGIN 
RETURN
(SELECT SUM(DATEDIFF(second, PickupDate, DropoffDate))/3600
FROM dbo.YellowTripData
WHERE CONVERT (date, PickupDate) =@DateParm)
END;

Store Procedure

Solo se asimilan a las funciones por el hecho de aceptar parámetros de entrada. Tiene parametros de entrada y salida, pueden usar TRY-CATCH, usan funciones DML, puden llamar funciones u otros procedimientos almacenados. Diferencias entre parametros de salida y valores de retorno:

Output parameters

Can be any data typeCan declare multiple per SP Cannot be table-valued parameters

Return value

Used to indicate success or failure Integer data type only 0 indicates success and non zero indicatesfailure

Spinner
DataFrameas
df1
variable
CREATE PROCEDURE dbo.cuspGetRideHrsOneDay
@DateParmdate,
@RideHrsOutnumeric OUTPUT
AS
SET NOCOUNT ON --SET NOCOUNT ON impide el envío al cliente de mensajes DONEINPROC por cada instrucción de un procedimiento almacenado. En los procedimientos almacenados que contengan varias instrucciones que no devuelven mucha información real o en los procedimientos que contengan bucles de Transact-SQL, establecer SET NOCOUNT en ON puede suponer una mejora significativa del rendimiento, ya que el tráfico de la red se reduce en gran medida.
BEGIN
SELECT
@RideHrsOut=SUM(    
	DATEDIFF(second, PickupDate, DropoffDate)  
)/3600
FROM YellowTripData
WHERE
CONVERT(date, PickupDate) =@DateParm
RETURN
END;