Guest User

Untitled

a guest
Mar 7th, 2016
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.21 KB | None | 0 0
  1. CREATE TABLE [DefaultKeys] (
  2.   [KEY] CHAR NOT NULL,
  3.   [VALUE] CHAR NOT NULL,
  4.   CONSTRAINT [] PRIMARY KEY ([KEY]) ON CONFLICT REPLACE);
  5.  
  6.  
  7. CREATE TABLE [FormDetails] (
  8.   [DetailID] INTEGER PRIMARY KEY AUTOINCREMENT,
  9.   [Caption] CHAR,
  10.   [VarName] CHAR,
  11.   [Forced] BOOLEAN,
  12.   [TYPE] CHAR,
  13.   [CommandOut] CHAR,
  14.   [DEFAULT] CHAR,
  15.   [DisplayOrder] INTEGER NOT NULL DEFAULT 999,
  16.   [OutputOrder] INTEGER NOT NULL DEFAULT 0);
  17.  
  18.  
  19. CREATE TABLE [Projects] (
  20.   [ProjectID] INTEGER PRIMARY KEY AUTOINCREMENT,
  21.   [Description] CHAR,
  22.   [RecentOpen] DATETIME DEFAULT CURRENT_TIMESTAMP,
  23.   [LastRun] DATETIME);
  24.  
  25. CREATE UNIQUE INDEX [uniqProjectNames] ON [Projects] ([Description] COLLATE NOCASE);
  26.  
  27.  
  28. CREATE TABLE [ProjectDetails] (
  29.   [ProjectID] INTEGER CONSTRAINT [fkFromProject] REFERENCES [Projects]([ProjectID]) ON DELETE CASCADE,
  30.   [DetailID] INTEGER CONSTRAINT [fkFromDetails] REFERENCES [FormDetails]([DetailID]) ON DELETE CASCADE,
  31.   [VALUE] CHAR,
  32.   CONSTRAINT [] PRIMARY KEY ([ProjectID], [DetailID]) ON CONFLICT REPLACE);
  33.  
  34.  
  35. CREATE TABLE [ViewedVideos] (
  36.   [VideoID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  37.   [ProjectID] INTEGER NOT NULL REFERENCES [Projects]([ProjectID]) ON DELETE CASCADE,
  38.   [Filename] CHAR NOT NULL,
  39.   [DateViewed] DATETIME,
  40.   [Comments] TEXT);
  41.  
  42. CREATE UNIQUE INDEX [uniqDateViewed] ON [ViewedVideos] ([ProjectID], [Filename]);
  43.  
  44.  
  45. CREATE VIEW [vOutputCommands] AS
  46. SELECT [main].[Projects].[ProjectID],
  47.   [main].[Projects].[Description],
  48.   [main].[FormDetails].[Caption],
  49.   [main].[FormDetails].[VarName],
  50.   [main].[FormDetails].[TYPE],
  51.   [main].[ProjectDetails].[VALUE],
  52.   [main].[FormDetails].[CommandOut]
  53. FROM [main].[FormDetails]
  54.   INNER JOIN [main].[ProjectDetails] ON [main].[FormDetails].[DetailID] =
  55.     [main].[ProjectDetails].[DetailID]
  56.   INNER JOIN [main].[Projects] ON [main].[Projects].[ProjectID] =
  57.     [main].[ProjectDetails].[ProjectID]
  58. ORDER BY [main].[Projects].[ProjectID],
  59.   [main].[FormDetails].[OutputOrder];
  60.  
  61.  
  62. CREATE VIEW [vPathDetails] AS
  63. SELECT [main].[Projects].[ProjectID],
  64.   [main].[Projects].[Description],
  65.   [main].[ProjectDetails].[VALUE]
  66. FROM [main].[Projects]
  67.   INNER JOIN [main].[ProjectDetails] ON [main].[Projects].[ProjectID] =
  68.     [main].[ProjectDetails].[ProjectID]
  69.   INNER JOIN [main].[FormDetails] ON [main].[FormDetails].[DetailID] =
  70.     [main].[ProjectDetails].[DetailID]
  71. WHERE [main].[FormDetails].[VarName] = 'Path'
  72. ORDER BY Description;
  73.  
  74.  
  75. CREATE VIEW [vViewedVideos] AS
  76. SELECT [main].[Projects].[ProjectID],
  77.   [main].[ViewedVideos].[VideoID],
  78.   [main].[Projects].[Description] AS [Project],
  79.   [main].[ProjectDetails].[VALUE] AS [Path],
  80.   [main].[ViewedVideos].[Filename],
  81.   [main].[ViewedVideos].[DateViewed]
  82. FROM [main].[ViewedVideos]
  83.   INNER JOIN [main].[Projects] ON [main].[Projects].[ProjectID] =
  84.     [main].[ViewedVideos].[ProjectID]
  85.   INNER JOIN [main].[ProjectDetails] ON [main].[Projects].[ProjectID] =
  86.     [main].[ProjectDetails].[ProjectID]
  87.   INNER JOIN [main].[FormDetails] ON [main].[FormDetails].[DetailID] =
  88.     [main].[ProjectDetails].[DetailID]
  89. WHERE [main].[FormDetails].[VarName] = 'Path'
  90. ORDER BY
  91. [Project],
  92. [main].[ViewedVideos].[DateViewed] NOT NULL ASC,
  93. [main].[ViewedVideos].[Filename];
Advertisement
Add Comment
Please, Sign In to add comment