438
Part IV: Programming with T-SQL in SQL Server
GOCREATE PROCEDURE Sales.uspGetCurrencyInformation@CurrencyCode char(3)ASSELECT CurrencyCode, Name
FROM Sales.Currency
WHERE CurrencyCode = @CurrencyCode;GOEXECUTE Sales.uspGetCurrencyInformation @CurrencyCode = 'USD';
GOCurrencyCode Name
------------ --------------------------------------------------
USD US DollarSpecifying Parameter Values
You can pass parameter values during stored procedure execution in two ways: named
parameter values and positional parameter values.Named Parameter Values
When the stored procedure is executed, you can pass parameters as a set of comma-
delimited name-value pairs. The syntax follows:EXECUTE Sales.uspGetCurrencyInformation @CurrencyCode = 'USD';When you pass parameters using this method, the order of the provided parameter values
does not matter.Positional Parameter Values
When you create a stored procedure, the input parameters are defi ned in a specifi c order.
During stored procedure execution, if values are not provided as a collection of name-value
pairs, the position of the parameter values becomes the method by which the stored proce-
dure knows how to assign the variable values within the stored procedure.EXECUTE Sales.uspGetCurrencyInformation 'USD';Default Parameter Values
A value must be provided for every defi ned parameter during a stored procedure call.
However, default values can be supplied as part of the stored procedure defi nition. In the
absence of a supplied input parameter value, the default value will be used. If a value is
provided during execution, the default is overridden. A default value is defi ned as part ofc17.indd 438c17.indd 438 7/30/2012 5:39:35 PM7/30/2012 5:39:35 PM
http://www.it-ebooks.info