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 |
