 |
|
SQL Server Tips by Burleson |
Encapsulate verification and setup of parameters.
To handle the considerable boilerplate code, which can be required
to validate and setup the parameters to your XP, the framework
allows you to define the parameters at compile time and then the
framework automatically validates these parameters at run time. A
single XP parameter is defined using the structure
XP_PARAMETER_DEFINITION.
The ‘m_ParameterType’ member variable allows you to specify if the
parameter should be an input, output or input or output parameter.
The ‘m_nColumn’ and ‘m_szName’ parameter allow you to specify the
column number or name of a parameter. Unnamed parameters are ordered
by column number whereas named parameters can be sent to the XP in
any order.
To allow you to specify the allowable data types for the parameter,
the ‘m_AllowableTypes’ member variable is provided. This is
implemented as a bit mask of values. You choose a combination of ‘XP_ALLOW_..’
values to specify the allowable data types for this parameter. To
allow for future expansion of the allowable data types an unsigned
8-byte integer of type ‘unsigned __int64’ is used to specify the bit
mask. This does mean that the class framework requires this data
type if you are using the code on a compiler other than Microsoft
Visual C++.
The above book excerpt is from:
Super SQL
Server Systems
Turbocharge Database Performance with C++ External Procedures
ISBN:
0-9761573-2-2
Joseph Gama, P. J. Naughter
http://www.rampant-books.com/book_2005_2_sql_server_external_procedures.htm |