Advertisement
Marlberg

QuestionsAnswersUsers2

Jun 3rd, 2024
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.81 KB | None | 0 0
  1. /*
  2. Run this script on:
  3.  
  4.         SERVER_NAME\ENV, PORTNUM.DATABASE_NAME    -  This database will be modified
  5.  
  6.  
  7. You are recommended to back up your database before running this script
  8.  
  9. time and date of transactional operation goes here
  10. */
  11. SET NUMERIC_ROUNDABORT OFF
  12. GO
  13. SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS ON
  14. GO
  15. USE [Database_Name]
  16. GO
  17. SET XACT_ABORT ON
  18. GO
  19. SET TRANSACTION ISOLATION LEVEL Serializable
  20. GO
  21. BEGIN TRANSACTION
  22. GO
  23. IF @@ERROR <> 0 SET NOEXEC ON
  24. GO
  25.  
  26. CREATE TABLE [My_Schema].[Users](
  27. [User_Id] [INT] IDENTITY(1,1) NOT NULL,
  28. [User_First_Name] VARCHAR(50) NOT NULL,
  29. [User_Last_Name] VARCHAR(50) NOT NULL,
  30. [User_Middle_Name] VARCHAR(50) NOT NULL,
  31. CONSTRAINT [My_Schema____Users___User_Id__pk1] PRIMARY KEY CLUSTERED
  32. (
  33.     [User_Id] ASC
  34. ) WITH (DATA_COMPRESSION=PAGE, PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [Filegroup_Name]
  35. )ON [Filegroup_Name]
  36. GO
  37. IF @@ERROR <> 0 SET NOEXEC ON
  38. GO
  39. CREATE TABLE [My_Schema].[Questions](
  40. [Questions_Id] [INT] IDENTITY(1,1) NOT NULL,
  41. [Question_Description]VARCHAR(255) NOT NULL,
  42. [Question_Type] VARCHAR(5) NOT NULL,
  43. CONSTRAINT [My_Schema____Questions___Question_Id__pk1] PRIMARY KEY CLUSTERED
  44. (
  45.     Questions_Id ASC
  46. )WITH (DATA_COMPRESSION=PAGE, PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [Filegroup_Name]
  47. )ON [Filegroup_Name]
  48. GO
  49. IF @@ERROR <> 0 SET NOEXEC ON
  50. GO
  51. CREATE TABLE [My_Schema].[Answers](
  52. [Answers_Id][INT]IDENTITY(1,1) NOT NULL,
  53. [User_Id][INT] NOT NULL,
  54. [Questions_Id] [INT] NOT NULL,
  55. [Answer_Text][VARCHAR](255) NULL,
  56. CONSTRAINT[My_Schema____Answers___Answers_Id__pk1] PRIMARY KEY CLUSTERED
  57. (
  58.     [Answers_Id] ASC
  59. )WITH (DATA_COMPRESSION=PAGE, PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [Filegroup_Name]
  60. )ON [Filegroup_Name]
  61. GO
  62. IF @@ERROR <> 0 SET NOEXEC ON
  63. GO
  64.  
  65. ALTER TABLE [My_Schema].[Answers] WITH CHECK ADD CONSTRAINT [MySchema____Answers___Questions_Id_fk1] FOREIGN KEY ([Question_Id])
  66. REFERENCES [My_Schema].[Questions]([Questions_Id])
  67. GO
  68. IF @@ERROR <> 0 SET NOEXEC ON
  69. GO
  70. ALTER TABLE [My_Schema].[Answers] WITH CHECK ADD CONSTRAINT [MySchema____Answers___Users_Id__fk1] FOREIGN KEY ([Users_Id])
  71. REFERENCES [My_Schema].[Questions]([Users_Id])
  72. GO
  73. IF @@ERROR <> 0 SET NOEXEC ON
  74. GO
  75. COMMIT TRANSACTION
  76. GO
  77. IF @@ERROR <> 0 SET NOEXEC ON
  78. GO
  79. DECLARE @Success AS BIT
  80. SET @Success = 1
  81. SET NOEXEC OFF
  82. IF (@Success = 1) PRINT 'The database update succeeded'
  83. ELSE BEGIN
  84.     IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION
  85.     PRINT 'The database update failed'
  86. END
  87. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement