MariaDbBuildDatabase.sql 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. DROP TABLE IF EXISTS `OrderLines`;
  2. DROP TABLE IF EXISTS `Orders`;
  3. DROP TABLE IF EXISTS `People`;
  4. DROP TABLE IF EXISTS `SpecificOrderLines`;
  5. DROP TABLE IF EXISTS `SpecificOrders`;
  6. DROP TABLE IF EXISTS `SpecificPeople`;
  7. DROP TABLE IF EXISTS `TransactionLogs`;
  8. DROP TABLE IF EXISTS `Note`;
  9. CREATE TABLE `People` (
  10. `Id` VARCHAR(36) NOT NULL PRIMARY KEY,
  11. `FullName` VARCHAR(255),
  12. `Age` BIGINT NOT NULL,
  13. `Height` INT NOT NULL,
  14. `Dob` DATETIME NULL
  15. ) ENGINE=INNODB;
  16. CREATE TABLE `Orders` (
  17. `Id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
  18. `PersonId` VARCHAR(36) NOT NULL,
  19. `PoNumber` VARCHAR(15) NOT NULL,
  20. `OrderStatus` INT NOT NULL,
  21. `CreatedOn` DATETIME NOT NULL,
  22. `CreatedBy` VARCHAR(255) NOT NULL,
  23. FOREIGN KEY `FK_Orders_People`(`PersonId`) REFERENCES `People`(`Id`)
  24. ) ENGINE=INNODB;
  25. CREATE TABLE `OrderLines` (
  26. `Id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
  27. `OrderId` INT NOT NULL,
  28. `Qty` SMALLINT NOT NULL,
  29. `Status` SMALLINT NOT NULL,
  30. `SellPrice` DECIMAL(10, 4) NOT NULL,
  31. FOREIGN KEY `FK_OrderLines_Orders`(`OrderId`) REFERENCES `Orders`(`Id`)
  32. ) ENGINE=INNODB;
  33. CREATE TABLE `SpecificPeople` (
  34. `Id` VARCHAR(36) NOT NULL PRIMARY KEY,
  35. `FullName` VARCHAR(255),
  36. `Age` BIGINT NOT NULL,
  37. `Height` INT NOT NULL,
  38. `Dob` DATETIME NULL
  39. ) ENGINE=INNODB;
  40. CREATE TABLE `SpecificOrders` (
  41. `Id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
  42. `PersonId` VARCHAR(36) NOT NULL,
  43. `PoNumber` VARCHAR(15) NOT NULL,
  44. `OrderStatus` INT NOT NULL,
  45. `CreatedOn` DATETIME NOT NULL,
  46. `CreatedBy` VARCHAR(255) NOT NULL,
  47. FOREIGN KEY `FK_SpecificOrders_SpecificPeople`(`PersonId`) REFERENCES `SpecificPeople`(`Id`)
  48. ) ENGINE=INNODB;
  49. CREATE TABLE `SpecificOrderLines` (
  50. `Id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
  51. `OrderId` INT NOT NULL,
  52. `Qty` SMALLINT NOT NULL,
  53. `Status` SMALLINT NOT NULL,
  54. `SellPrice` DECIMAL(10, 4) NOT NULL,
  55. FOREIGN KEY FK_SpecificOrderLines_SpecificOrders(OrderId) REFERENCES SpecificOrders(Id)
  56. ) ENGINE=INNODB;
  57. CREATE TABLE `TransactionLogs` (
  58. `Description` VARCHAR(5000) NOT NULL,
  59. `CreatedOn` DATETIME NOT NULL
  60. ) ENGINE=INNODB;
  61. CREATE TABLE `Note` (
  62. `Id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
  63. `Text` VARCHAR(5000) NOT NULL,
  64. `CreatedOn` DATETIME NOT NULL
  65. ) ENGINE=INNODB;
  66. -- Investigation Tables
  67. DROP TABLE IF EXISTS `BugInvestigation_10R9LZYK`;
  68. CREATE TABLE `BugInvestigation_10R9LZYK` (
  69. `Id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
  70. `TestColumn1` VARBINARY(32)
  71. ) ENGINE=INNODB;
  72. -- Stored Procedures
  73. DROP PROCEDURE IF EXISTS `SelectPeople`;
  74. DROP PROCEDURE IF EXISTS `SelectPeopleWithParam`;
  75. DROP PROCEDURE IF EXISTS `CountPeople`;
  76. DROP PROCEDURE IF EXISTS `CountPeopleWithParam`;
  77. DROP PROCEDURE IF EXISTS `UpdatePeople`;
  78. DROP PROCEDURE IF EXISTS `UpdatePeopleWithParam`;
  79. CREATE PROCEDURE `SelectPeople` ()
  80. SELECT * FROM `People`;
  81. CREATE PROCEDURE `SelectPeopleWithParam` (age INT)
  82. SELECT * FROM `People` WHERE `People`.`Age` > age;
  83. CREATE PROCEDURE `CountPeople` ()
  84. SELECT COUNT(*) FROM `People`;
  85. CREATE PROCEDURE `CountPeopleWithParam` (age INT)
  86. SELECT COUNT(*) FROM `People` WHERE `People`.`Age` > age;
  87. CREATE PROCEDURE `UpdatePeople` ()
  88. UPDATE `People` SET `FullName` = 'Updated';
  89. CREATE PROCEDURE `UpdatePeopleWithParam` (age INT)
  90. UPDATE `People` SET `FullName` = 'Updated' WHERE `People`.`Age` > age;