Advertisement
Agrovein

mssql

Apr 16th, 2020
2,247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.67 KB | None | 0 0
  1. USE cinema_second_DB;
  2.  
  3. DROP TABLE IF EXISTS Afisha
  4. DROP TABLE IF EXISTS Films
  5. DROP TABLE IF EXISTS Halls
  6.  
  7.  
  8. CREATE TABLE Films
  9. (
  10. film_id INT PRIMARY KEY,
  11. film_name CHAR (40),
  12. film_genre CHAR (40),
  13. film_producer CHAR (40),
  14. film_developer CHAR (40),
  15. film_year INT,
  16. age_watchers INT
  17. )
  18.  
  19.  
  20. CREATE TABLE Halls
  21. (
  22. hall_id INT PRIMARY KEY,
  23. hall_name CHAR (15),
  24. place_count INT,
  25. hall_status CHAR (25)
  26. )
  27. GO
  28.  
  29. CREATE TABLE Afisha
  30. (
  31. code_afisha INT PRIMARY KEY IDENTITY(1,1),
  32. code_film INT FOREIGN KEY REFERENCES Films(film_id),
  33. dateOfStart_hire DATETIME,
  34. code_hall INT FOREIGN KEY REFERENCES Halls(hall_id),
  35. cost INT,
  36. free_space INT
  37. )
  38. GO
  39.  
  40. -- Заполнение:
  41.  
  42. INSERT INTO Films
  43. VALUES (10, 'Nemesis', 'Horror', 'Bey', 'Disney', '20150403', 18),
  44. (11, 'Avengers', 'Superhero, Action', 'Kevin Feige', 'Marvel Studios', '20151013', 12),
  45. (12, 'Iron Man', 'Superhero, Action', 'Kevin Feige', 'Marvel Studios', '20120723', 12),
  46. (13, 'Captain America', 'Superhero, Action', 'Joe Russo', 'Marvel Studios', '20170304', 12),
  47. (14, 'Avengers Eternity', 'Superhero, Action', 'Anthony Russo', 'Marvel Studios', '20100403', 12),
  48. (15, 'Batman', 'Superhero, Action', 'Someone', 'Warner Bros', '20120129', 16),
  49. (16, 'Black Panther', 'Superhero, Action', 'Kevin Feige', 'Marvel Studios', '20180129', 12),
  50. (17, 'The Angry Birds Movie', 'Animated, Comedy, Adventure', 'Thurop Van Orman', 'Columbia Pictures', '20190403', 6),
  51. (18, 'Shreck', 'Animated, Comedy, Adventure', 'Someone Number Two', 'Disney', '20081123', 6),
  52. (19, 'Avengers Endgame', 'Superhero, Action', 'Bey', 'Marvel Studios', '20190426', 12);
  53.  
  54.  
  55. INSERT INTO Halls
  56. VALUES (111, 'Sensei', 150, 'Open'),
  57. (222, 'Ultra', 200, 'Open'),
  58. (333, 'Exta', 250, 'Open'),
  59. (444, 'Mini', 100, 'Open'),
  60. (555, 'Shadow', 10, 'Closed'),
  61. (666, 'Ninja', 400, 'Maintenance'),
  62. (777, 'Diamond', 30, 'Open for VIP'),
  63. (888, 'Hard', 100, 'Closed'),
  64. (999, 'Emerald', 60, 'Open'),
  65. (1000, 'Omega', 1000, 'WIP');
  66.  
  67.  
  68. INSERT INTO Afisha ( dateOfStart_hire, cost, free_space)
  69. VALUES ( '20090504', 150, 50),
  70. ( '20120304', 150, 50),
  71. ('20110508', 80, 150),
  72. ( '20131110', 150, 50),
  73. ( '20150711', 500, 10),
  74. ( '20140524', 500, 10),
  75. ( '20170305', 80, 150),
  76. ( '20131014', 150, 50),
  77. ( '20191122', 200, 30),
  78. ( '20190405', 200, 30);
  79.  
  80. --Попытка залить эти 2 столбца последний таблицы из других:
  81.  
  82. UPDATE:
  83.  
  84. UPDATE Afisha
  85. SET code_film=film_id
  86. FROM Films
  87.  
  88. UPDATE Afisha
  89. SET code_hall=hall_id
  90. FROM Halls
  91.  
  92. INSERT:
  93.  
  94. INSERT INTO Afisha(code_film)
  95. SELECT film_id
  96. FROM Films
  97.  
  98. INSERT INTO Afisha(code_hall)
  99. SELECT hall_id
  100. FROM Halls
  101.  
  102. SELECT * FROM Afisha
  103. SELECT * FROM Films
  104. SELECT * FROM Halls
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement