DECLARE @variable (TSQL Statement)
declares a new variable.
Syntax
DECLARE { @variable [AS] datatype [= initial_value] } [,...n]
Arguments
- @variable
- is the name of the new variable. Must start with
@
. - datatype
- is a valid datatype.
- The default precision for
varbinary
,varchar
andchar
is 1 if not specified. - The default precision for
numeric
is 18 if not specified.
- The default precision for
- initial_value
- is the initial value to be assigned to @variable.
Remarks
Variable names must start with the character @
.
If there is no initial_value, the variable is initialized with a NULL value.
To assign values to a variable, use SET @variable
.
Examples
CREATE TABLE t (a INT NOT NULL IDENTITY PRIMARY KEY, b VARCHAR(20));
GO
DECLARE @s VARCHAR(40) = 'bakoluenopukybnoachoxutipomunega';
DECLARE @i INT = 0;
DECLARE @j INT;
DECLARE @name VARCHAR(30);
DECLARE @start INT;
DECLARE @length INT;
WHILE @i < 4
BEGIN
SET @name = '';
SET @j = 0;
WHILE @j < 5
BEGIN
SET @start = RAND()*LEN(@s);
SET @length = RAND()*4 + 1;
SET @name += SUBSTRING(@s, @start, @length); -- add a random fragment of @s
SET @j += 1;
END
INSERT INTO t(b) VALUES (@name); -- @name is a random string
SET @i += 1;
END
SELECT * FROM t;
The result is:
a |b |
-----------+--------------------+
1|molunegbakeno |
2|xnkybnenopmu |
3|babakipoomuho |
4|koybnonoapop |
(4 row(s) affected)