Skip to content

Numbers

Jonathan Bairstow edited this page Sep 8, 2020 · 2 revisions

This collection of SQL artefacts can be used to randomly generate integer values, either singularly or in batches of up to 10000 values.

Reference data.

Bulk procedures described below generate values based on the values in [Reference].[Number]. This table can be populated by executing the procedure [Reference].[usp_Populate_Number].

Procedures and functions

[SingleValue].[ufn_Get_number]

This function will return a random integer value. As a function; this method can be used to easily assign a value to an variable, or to update a field on a table.

This function has the following input parameters:

Parameter Data Type Default Value
@MinValue int None
@MaxValue int None

Example usages:

Declare	@Number int 
Select	@Number = [SingleValue].[ufn_Get_number]( 1, 100 )
Select	@Number

[SingleValue].[usp_Get_number]

This procedure will return a random integer value. The generated value is returned via the output parameter @Number, and so can be captured in a variable or passed back to a calling application.

Parameter Data Type Default Value Direction
@MinValue int 1 Input
@MaxValue int 9 Input
@Number int None Output

Example usages:

Declare @Number int
exec	SingleValue.usp_Get_Number @MinValue = 95, @MaxValue = 100, @Number = @Number out
Select	@Number

[BulkValue].[usp_Get_number]

This procedure will return up to 10000 random integer values. This procedure has the following input parameter:

Parameter Data Type Default Value
@MinValue int 1
@MaxValue int 9
@QuantityRequired smallint None

A recordset with the following structure is returned:

Field Name Data Type
Number int

This method is useful for inserting bulk data directly in to a table, or as an ETL source.

Example Usage:

exec [BulkValue].[usp_Get_Number] 95, 100, 1000

Clone this wiki locally