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