Mercurial > pub > bltoolkit
comparison Data/Create Scripts/Sybase.sql @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:f990fcb411a9 |
---|---|
1 IF OBJECT_ID('dbo.Doctor') IS NOT NULL | |
2 BEGIN DROP TABLE Doctor END | |
3 GO | |
4 | |
5 IF OBJECT_ID('dbo.Patient') IS NOT NULL | |
6 BEGIN DROP TABLE Patient END | |
7 GO | |
8 | |
9 -- Person Table | |
10 | |
11 IF OBJECT_ID('dbo.Person') IS NOT NULL | |
12 BEGIN DROP TABLE Person END | |
13 GO | |
14 | |
15 CREATE TABLE Person | |
16 ( | |
17 PersonID int IDENTITY, | |
18 FirstName nvarchar(50) NOT NULL, | |
19 LastName nvarchar(50) NOT NULL, | |
20 MiddleName nvarchar(50) NULL, | |
21 Gender char(1) NOT NULL, | |
22 CONSTRAINT PK_Person PRIMARY KEY CLUSTERED (PersonID) | |
23 ) | |
24 GO | |
25 | |
26 INSERT INTO Person (FirstName, LastName, Gender) VALUES ('John', 'Pupkin', 'M') | |
27 GO | |
28 INSERT INTO Person (FirstName, LastName, Gender) VALUES ('Tester', 'Testerson', 'M') | |
29 GO | |
30 | |
31 -- Doctor Table Extension | |
32 | |
33 CREATE TABLE Doctor | |
34 ( | |
35 PersonID int NOT NULL, | |
36 Taxonomy nvarchar(50) NOT NULL, | |
37 CONSTRAINT PK_Doctor PRIMARY KEY CLUSTERED (PersonID), | |
38 CONSTRAINT FK_Doctor_Person FOREIGN KEY (PersonID) | |
39 REFERENCES Person(PersonID) | |
40 ) | |
41 GO | |
42 | |
43 INSERT INTO Doctor (PersonID, Taxonomy) VALUES (1, 'Psychiatry') | |
44 GO | |
45 | |
46 -- Patient Table Extension | |
47 | |
48 CREATE TABLE Patient | |
49 ( | |
50 PersonID int NOT NULL, | |
51 Diagnosis nvarchar(256) NOT NULL, | |
52 CONSTRAINT PK_Patient PRIMARY KEY CLUSTERED (PersonID), | |
53 CONSTRAINT FK_Patient_Person FOREIGN KEY (PersonID) | |
54 REFERENCES Person (PersonID) | |
55 ) | |
56 GO | |
57 | |
58 INSERT INTO Patient (PersonID, Diagnosis) VALUES (2, 'Hallucination with Paranoid Bugs'' Delirium of Persecution') | |
59 GO | |
60 | |
61 -- Person_SelectByKey | |
62 | |
63 IF OBJECT_ID('Person_SelectByKey') IS NOT NULL | |
64 BEGIN DROP Procedure Person_SelectByKey END | |
65 GO | |
66 | |
67 CREATE Procedure Person_SelectByKey | |
68 @id int | |
69 AS | |
70 | |
71 SELECT * FROM Person WHERE PersonID = @id | |
72 | |
73 GO | |
74 | |
75 GRANT EXEC ON Person_SelectByKey TO PUBLIC | |
76 GO | |
77 | |
78 -- Person_SelectAll | |
79 | |
80 IF OBJECT_ID('Person_SelectAll') IS NOT NULL | |
81 BEGIN DROP Procedure Person_SelectAll END | |
82 GO | |
83 | |
84 CREATE Procedure Person_SelectAll | |
85 AS | |
86 | |
87 SELECT * FROM Person | |
88 | |
89 GO | |
90 | |
91 GRANT EXEC ON Person_SelectAll TO PUBLIC | |
92 GO | |
93 | |
94 -- Person_SelectByName | |
95 | |
96 IF OBJECT_ID('Person_SelectByName') IS NOT NULL | |
97 BEGIN DROP Procedure Person_SelectByName END | |
98 GO | |
99 | |
100 CREATE Procedure Person_SelectByName | |
101 @firstName nvarchar(50), | |
102 @lastName nvarchar(50) | |
103 AS | |
104 | |
105 SELECT | |
106 * | |
107 FROM | |
108 Person | |
109 WHERE | |
110 FirstName = @firstName AND LastName = @lastName | |
111 | |
112 GO | |
113 | |
114 GRANT EXEC ON Person_SelectByName TO PUBLIC | |
115 GO | |
116 | |
117 -- Person_SelectListByName | |
118 | |
119 IF OBJECT_ID('Person_SelectListByName') IS NOT NULL | |
120 BEGIN DROP Procedure Person_SelectListByName END | |
121 GO | |
122 | |
123 CREATE Procedure Person_SelectListByName | |
124 @firstName nvarchar(50), | |
125 @lastName nvarchar(50) | |
126 AS | |
127 | |
128 SELECT | |
129 * | |
130 FROM | |
131 Person | |
132 WHERE | |
133 FirstName like @firstName AND LastName like @lastName | |
134 | |
135 GO | |
136 | |
137 GRANT EXEC ON Person_SelectByName TO PUBLIC | |
138 GO | |
139 | |
140 -- Person_Insert | |
141 | |
142 IF OBJECT_ID('Person_Insert') IS NOT NULL | |
143 BEGIN DROP Procedure Person_Insert END | |
144 GO | |
145 | |
146 CREATE Procedure Person_Insert | |
147 @FirstName nvarchar(50), | |
148 @LastName nvarchar(50), | |
149 @MiddleName nvarchar(50), | |
150 @Gender char(1) | |
151 AS | |
152 | |
153 INSERT INTO Person | |
154 ( LastName, FirstName, MiddleName, Gender) | |
155 VALUES | |
156 (@LastName, @FirstName, @MiddleName, @Gender) | |
157 | |
158 SELECT Cast(@@IDENTITY as int) PersonID | |
159 | |
160 GO | |
161 | |
162 GRANT EXEC ON Person_Insert TO PUBLIC | |
163 GO | |
164 | |
165 -- Person_Insert_OutputParameter | |
166 | |
167 IF OBJECT_ID('Person_Insert_OutputParameter') IS NOT NULL | |
168 BEGIN DROP Procedure Person_Insert_OutputParameter END | |
169 GO | |
170 | |
171 CREATE Procedure Person_Insert_OutputParameter | |
172 @FirstName nvarchar(50), | |
173 @LastName nvarchar(50), | |
174 @MiddleName nvarchar(50), | |
175 @Gender char(1), | |
176 @PersonID int output | |
177 AS | |
178 | |
179 INSERT INTO Person | |
180 ( LastName, FirstName, MiddleName, Gender) | |
181 VALUES | |
182 (@LastName, @FirstName, @MiddleName, @Gender) | |
183 | |
184 SET @PersonID = Cast(@@IDENTITY as int) | |
185 | |
186 GO | |
187 | |
188 GRANT EXEC ON Person_Insert_OutputParameter TO PUBLIC | |
189 GO | |
190 | |
191 -- Person_Update | |
192 | |
193 IF OBJECT_ID('Person_Update') IS NOT NULL | |
194 BEGIN DROP Procedure Person_Update END | |
195 GO | |
196 | |
197 CREATE Procedure Person_Update | |
198 @PersonID int, | |
199 @FirstName nvarchar(50), | |
200 @LastName nvarchar(50), | |
201 @MiddleName nvarchar(50), | |
202 @Gender char(1) | |
203 AS | |
204 | |
205 UPDATE | |
206 Person | |
207 SET | |
208 LastName = @LastName, | |
209 FirstName = @FirstName, | |
210 MiddleName = @MiddleName, | |
211 Gender = @Gender | |
212 WHERE | |
213 PersonID = @PersonID | |
214 | |
215 GO | |
216 | |
217 GRANT EXEC ON Person_Update TO PUBLIC | |
218 GO | |
219 | |
220 -- Person_Delete | |
221 | |
222 IF OBJECT_ID('Person_Delete') IS NOT NULL | |
223 BEGIN DROP Procedure Person_Delete END | |
224 GO | |
225 | |
226 CREATE Procedure Person_Delete | |
227 @PersonID int | |
228 AS | |
229 | |
230 DELETE FROM Person WHERE PersonID = @PersonID | |
231 | |
232 GO | |
233 | |
234 GRANT EXEC ON Person_Delete TO PUBLIC | |
235 GO | |
236 | |
237 -- Patient_SelectAll | |
238 | |
239 IF OBJECT_ID('Patient_SelectAll') IS NOT NULL | |
240 BEGIN DROP Procedure Patient_SelectAll END | |
241 GO | |
242 | |
243 CREATE Procedure Patient_SelectAll | |
244 AS | |
245 | |
246 SELECT | |
247 Person.*, Patient.Diagnosis | |
248 FROM | |
249 Patient, Person | |
250 WHERE | |
251 Patient.PersonID = Person.PersonID | |
252 | |
253 GO | |
254 | |
255 GRANT EXEC ON Patient_SelectAll TO PUBLIC | |
256 GO | |
257 | |
258 -- Patient_SelectByName | |
259 | |
260 IF OBJECT_ID('Patient_SelectByName') IS NOT NULL | |
261 BEGIN DROP Procedure Patient_SelectByName END | |
262 GO | |
263 | |
264 CREATE Procedure Patient_SelectByName | |
265 @firstName nvarchar(50), | |
266 @lastName nvarchar(50) | |
267 AS | |
268 | |
269 SELECT | |
270 Person.*, Patient.Diagnosis | |
271 FROM | |
272 Patient, Person | |
273 WHERE | |
274 Patient.PersonID = Person.PersonID | |
275 AND FirstName = @firstName AND LastName = @lastName | |
276 | |
277 GO | |
278 | |
279 GRANT EXEC ON Person_SelectByName TO PUBLIC | |
280 GO | |
281 | |
282 -- BinaryData Table | |
283 | |
284 IF OBJECT_ID('BinaryData') IS NOT NULL | |
285 BEGIN DROP TABLE BinaryData END | |
286 GO | |
287 | |
288 CREATE TABLE BinaryData | |
289 ( | |
290 BinaryDataID int IDENTITY, | |
291 Stamp timestamp NOT NULL, | |
292 Data varbinary(1024) NOT NULL, | |
293 CONSTRAINT PK_BinaryData PRIMARY KEY CLUSTERED (BinaryDataID) | |
294 ) | |
295 GO | |
296 | |
297 -- OutRefTest | |
298 | |
299 IF OBJECT_ID('OutRefTest') IS NOT NULL | |
300 BEGIN DROP Procedure OutRefTest END | |
301 GO | |
302 | |
303 CREATE Procedure OutRefTest | |
304 @ID int, | |
305 @outputID int output, | |
306 @inputOutputID int output, | |
307 @str varchar(50), | |
308 @outputStr varchar(50) output, | |
309 @inputOutputStr varchar(50) output | |
310 AS | |
311 | |
312 SET @outputID = @ID | |
313 SET @inputOutputID = @ID + @inputOutputID | |
314 SET @outputStr = @str | |
315 SET @inputOutputStr = @str + @inputOutputStr | |
316 | |
317 GO | |
318 | |
319 -- OutRefEnumTest | |
320 | |
321 IF OBJECT_ID('OutRefEnumTest') IS NOT NULL | |
322 BEGIN DROP Procedure OutRefEnumTest END | |
323 GO | |
324 | |
325 CREATE Procedure OutRefEnumTest | |
326 @str varchar(50), | |
327 @outputStr varchar(50) output, | |
328 @inputOutputStr varchar(50) output | |
329 AS | |
330 | |
331 SET @outputStr = @str | |
332 SET @inputOutputStr = @str + @inputOutputStr | |
333 | |
334 GO | |
335 | |
336 -- ExecuteScalarTest | |
337 | |
338 IF OBJECT_ID('Scalar_DataReader') IS NOT NULL | |
339 BEGIN DROP Procedure Scalar_DataReader END | |
340 GO | |
341 | |
342 CREATE Procedure Scalar_DataReader | |
343 AS | |
344 SELECT Cast(12345 as int) AS intField, Cast('54321' as varchar(50)) AS stringField | |
345 | |
346 GO | |
347 | |
348 IF OBJECT_ID('Scalar_OutputParameter') IS NOT NULL | |
349 BEGIN DROP Procedure Scalar_OutputParameter END | |
350 GO | |
351 | |
352 CREATE Procedure Scalar_OutputParameter | |
353 @outputInt int = 0 output, | |
354 @outputString varchar(50) = '' output | |
355 AS | |
356 BEGIN | |
357 SET @outputInt = 12345 | |
358 SET @outputString = '54321' | |
359 END | |
360 | |
361 GO | |
362 | |
363 IF OBJECT_ID('Scalar_ReturnParameterWithObject') IS NOT NULL | |
364 BEGIN DROP Procedure Scalar_ReturnParameterWithObject END | |
365 GO | |
366 | |
367 CREATE Procedure Scalar_ReturnParameterWithObject | |
368 @id int | |
369 AS | |
370 BEGIN | |
371 SELECT * FROM Person WHERE PersonID = @id | |
372 RETURN @id | |
373 END | |
374 | |
375 GO | |
376 | |
377 -- Data Types test | |
378 | |
379 IF OBJECT_ID('DataTypeTest') IS NOT NULL | |
380 BEGIN DROP TABLE DataTypeTest END | |
381 GO | |
382 | |
383 CREATE TABLE DataTypeTest | |
384 ( | |
385 DataTypeID int IDENTITY, | |
386 Binary_ binary(50) NULL, | |
387 Boolean_ bit NOT NULL, | |
388 Byte_ tinyint NULL, | |
389 Bytes_ varbinary(50) NULL, | |
390 Char_ char(1) NULL, | |
391 DateTime_ datetime NULL, | |
392 Decimal_ decimal(20,2) NULL, | |
393 Double_ float NULL, | |
394 Guid_ varbinary(16) NULL, | |
395 Int16_ smallint NULL, | |
396 Int32_ int NULL, | |
397 Int64_ bigint NULL, | |
398 Money_ money NULL, | |
399 SByte_ tinyint NULL, | |
400 Single_ real NULL, | |
401 Stream_ varbinary(50) NULL, | |
402 String_ nvarchar(50) NULL, | |
403 UInt16_ smallint NULL, | |
404 UInt32_ int NULL, | |
405 UInt64_ bigint NULL, | |
406 Xml_ nvarchar(1000) NULL, | |
407 CONSTRAINT PK_DataType PRIMARY KEY CLUSTERED (DataTypeID) | |
408 ) | |
409 GO | |
410 | |
411 INSERT INTO DataTypeTest | |
412 (Binary_, Boolean_, Byte_, Bytes_, Char_, DateTime_, Decimal_, | |
413 Double_, Guid_, Int16_, Int32_, Int64_, Money_, SByte_, | |
414 Single_, Stream_, String_, UInt16_, UInt32_, UInt64_, Xml_) | |
415 VALUES | |
416 ( NULL, 0, NULL, NULL, NULL, NULL, NULL, | |
417 NULL, NULL, NULL, NULL, NULL, NULL, NULL, | |
418 NULL, NULL, NULL, NULL, NULL, NULL, NULL) | |
419 GO | |
420 | |
421 INSERT INTO DataTypeTest | |
422 (Binary_, Boolean_, Byte_, Bytes_, Char_, DateTime_, Decimal_, | |
423 Double_, Guid_, Int16_, Int32_, Int64_, Money_, SByte_, | |
424 Single_, Stream_, String_, UInt16_, UInt32_, UInt64_, | |
425 Xml_) | |
426 VALUES | |
427 (NewID(), 1, 255, NewID(), 'B', GetDate(), 12345.67, | |
428 1234.567, NewID(), 32767, 32768, 1000000, 12.3456, 127, | |
429 1234.123, NewID(), 'string', 32767, 32768, 200000000, | |
430 '<root><element strattr="strvalue" intattr="12345"/></root>') | |
431 GO | |
432 | |
433 | |
434 | |
435 DROP TABLE Parent | |
436 GO | |
437 DROP TABLE Child | |
438 GO | |
439 DROP TABLE GrandChild | |
440 GO | |
441 | |
442 CREATE TABLE Parent (ParentID int, Value1 int NULL) | |
443 GO | |
444 CREATE TABLE Child (ParentID int, ChildID int) | |
445 GO | |
446 CREATE TABLE GrandChild (ParentID int, ChildID int, GrandChildID int) | |
447 GO | |
448 | |
449 | |
450 DROP TABLE LinqDataTypes | |
451 GO | |
452 | |
453 CREATE TABLE LinqDataTypes | |
454 ( | |
455 ID int, | |
456 MoneyValue decimal(10,4) NULL, | |
457 DateTimeValue datetime NULL, | |
458 DateTimeValue2 datetime NULL, | |
459 BoolValue bit default(0), | |
460 GuidValue char(36) NULL, | |
461 BinaryValue binary(500) NULL, | |
462 SmallIntValue smallint NULL, | |
463 IntValue int NULL, | |
464 BigIntValue bigint NULL | |
465 ) | |
466 GO | |
467 | |
468 DROP TABLE TestIdentity | |
469 GO | |
470 | |
471 CREATE TABLE TestIdentity | |
472 ( | |
473 ID int IDENTITY CONSTRAINT PK_TestIdentity PRIMARY KEY CLUSTERED | |
474 ) | |
475 GO |