Transact SQL MSSQL Tutorial

4>
5>
6> CREATE TABLE sales(
7>    stor_id        char(4)           NOT NULL,
8>    ord_num        varchar(20)       NOT NULL,
9>    ord_date       datetime          NOT NULL,
10>    qty            smallint          NOT NULL,
11>    payterms       varchar(12)       NOT NULL,
12>    title_id       varchar(80)
13> )
14> GO
1> insert sales values('1', 'QA7442.3', '09/13/94', 75, 'ON Billing','1')
2> insert sales values('2', 'D4482',    '09/14/94', 10, 'Net 60',    '1')
3> insert sales values('3', 'N914008',  '09/14/94', 20, 'Net 30',    '2')
4> insert sales values('4', 'N914014',  '09/14/94', 25, 'Net 30',    '3')
5> insert sales values('5', '423LL922', '09/14/94', 15, 'ON Billing','3')
6> insert sales values('6', '423LL930', '09/14/94', 10, 'ON Billing','2')
7> GO
(1 rows affected)
(1 rows affected)
(1 rows affected)
(1 rows affected)
(1 rows affected)
(1 rows affected)
1>
2>     CREATE PROCEDURE SalesQtys
3>         @chvOrderBy VARCHAR(30) = 'qty',
4>         @chvSortType VARCHAR(4) = 'ASC'
5>     AS
6>     DECLARE @chvSQL VARCHAR(255)
7>     SELECT @chvSQL = 'SELECT stor_id, ord_num, title_id, qty'
8>     SELECT @chvSQL = @chvSQL + ' FROM Sales'
9>     SELECT @chvSQL = @chvSQL + ' ORDER BY ' + @chvOrderBy + ' ' + @chvSortType
10>     EXEC (@chvSQL)
11>     GO
1>
2>     SalesQtys @chvOrderBy = 'stor_id', @chvSortType = 'DESC'
3>     GO
stor_id ord_num              title_id                                                                         qty
------- -------------------- -------------------------------------------------------------------------------- ------
6       423LL930             2                                                                                    10
5       423LL922             3                                                                                    15
4       N914014              3                                                                                    25
3       N914008              2                                                                                    20
2       D4482                1                                                                                    10
1       QA7442.3             1                                                                                    75
(6 rows affected)
1>     SalesQtys
2>     GO
stor_id ord_num              title_id                                                                         qty
------- -------------------- -------------------------------------------------------------------------------- ------
2       D4482                1                                                                                    10
6       423LL930             2                                                                                    10
5       423LL922             3                                                                                    15
3       N914008              2                                                                                    20
4       N914014              3                                                                                    25
1       QA7442.3             1                                                                                    75
(6 rows affected)
1>     SalesQtys @chvOrderBy = 'title_id'
2>     GO
stor_id ord_num              title_id                                                                         qty
------- -------------------- -------------------------------------------------------------------------------- ------
1       QA7442.3             1                                                                                    75
2       D4482                1                                                                                    10
3       N914008              2                                                                                    20
6       423LL930             2                                                                                    10
4       N914014              3                                                                                    25
5       423LL922             3                                                                                    15
(6 rows affected)
1>
2>
3> drop table sales;
4> GO