-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path09.AQ02-DrawTheTriangle2.sql
77 lines (60 loc) · 2.31 KB
/
09.AQ02-DrawTheTriangle2.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
P(R) represents a pattern drawn by Julia in R rows. The following pattern represents P(5):
* * * * *
* * * *
* * *
* *
*
Write a query to print the pattern P(20).
*/
use hackerrank;
GO
raiserror('Now at the create procedure section ....',0,1)
GO
CREATE or ALTER PROCEDURE alternativequeries.proc_02drawtriangle2 AS
SELECT
REPLICATE('* ', ones.n + 10*tens.n) as STARS
FROM
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),
(VALUES(0),(1),(2),(3),(4),(5)) tens(n)
WHERE
ones.n + 10*tens.n BETWEEN 1 AND 20
ORDER BY
ones.n + 10*tens.n;
GO
CREATE or ALTER PROCEDURE AlternativeQueriesTestClass.test_02drawtriangle2
AS
BEGIN
IF OBJECT_ID('actual') IS NOT NULL DROP TABLE actual;
IF OBJECT_ID('expected') IS NOT NULL DROP TABLE expected;
CREATE TABLE actual (
STARS varchar(40),
);
INSERT INTO actual (STARS) exec alternativequeries.proc_02drawtriangle2 ;
CREATE TABLE expected (
STARS varchar(40),
);
INSERT INTO expected (STARS) select '* ';
INSERT INTO expected (STARS) select '* * ';
INSERT INTO expected (STARS) select '* * * ';
INSERT INTO expected (STARS) select '* * * * ';
INSERT INTO expected (STARS) select '* * * * * ';
INSERT INTO expected (STARS) select '* * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * * * * * * * * * ';
INSERT INTO expected (STARS) select '* * * * * * * * * * * * * * * * * * * * ';
EXEC tSQLt.AssertEqualsTable 'expected', 'actual';
END;
GO
--exec tSQLt.Run 'AlternativeQueriesTestClass.[test_02drawtriangle2]';