Advertisement
Guest User

Untitled

a guest
Jul 18th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 28.05 KB | None | 0 0
  1. USE master;
  2. GO
  3.  
  4. DROP DATABASE sunny_erp;
  5. GO
  6.  
  7. /* Database: sunny_erp
  8.  *
  9.  * Sunny ERP Database
  10.  *
  11.  */
  12. CREATE DATABASE sunny_erp ON PRIMARY (
  13.     NAME = sunny_erp_DATA,
  14.     FILENAME = "C:\Databases\sunny_erp_DATA.mdf",
  15.     SIZE = 10MB,
  16.     FILEGROWTH = 10%
  17. ) LOG ON (
  18.     NAME = sunny_erp_LOG,
  19.     FILENAME = "C:\Databases\sunny_erp_DATA.ldf",
  20.     SIZE = 5MB,
  21.     FILEGROWTH = 10%
  22. );
  23. GO
  24.  
  25. USE sunny_erp;
  26.  
  27. -- EXEC sp_addlogin '${owner}', 'asdasd', 'sunny_erp';
  28. EXEC sp_adduser '${owner}','${owner}', 'db_owner';
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39. /* Table: evolved_configs
  40.  *
  41.  * Generic configurations registry.
  42.  *
  43.  * Primary key:
  44.  *
  45.  *  (int) - PK_evolved_configs_id
  46.  *
  47.  * Indexes:
  48.  *
  49.  *  (clustered) - PK_evolved_configs_id
  50.  *
  51.  * Defaults:
  52.  *
  53.  *  (smalldatetime) - DF_evolved_configs_dtIns. Defaults to GETDATE()
  54.  *  (smalldatetime) - DF_evolved_configs_dtUpd. Defaults to GETDATE()
  55.  *  (nvarchar)      - DF_evolved_configs_owner. Defaults to "unknown"
  56.  *
  57.  */
  58. CREATE TABLE [${owner}].[evolved_configs] (
  59.     [id] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL CONSTRAINT PK_evolved_configs_id PRIMARY KEY CLUSTERED,
  60.     [config] ntext COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  61.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_configs_dtIns DEFAULT getdate(),
  62.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_configs_dtUpd DEFAULT getdate(),
  63.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_configs_owner DEFAULT 'unknown'
  64. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY];
  65. GO
  66.  
  67. /* Stored Procedure: SP_evolved_config_create
  68.  *
  69.  * Creates an evolved_config.
  70.  *
  71.  * Parameters:
  72.  *
  73.  *  (nvarchar) - config identifier
  74.  *  (ntext)    - config
  75.  *  (nvarchar) - owner (optional, defaults to "unknown")
  76.  *
  77.  */
  78. CREATE PROC [${owner}].[SP_evolved_config_create]
  79.     @id nvarchar(32) = NULL,
  80.     @config ntext = NULL,
  81.     @owner nvarchar(32) = 'unknown'
  82. AS
  83.     IF @id is NULL OR @config is NULL BEGIN
  84.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_config_create] (nvarchar)@id, (ntext)@config[, (nvarchar)@owner]'
  85.         RETURN
  86.     END
  87.    
  88.     INSERT INTO [${owner}].[evolved_configs](id, config, owner)
  89.     VALUES (@id, @config, @owner)
  90. GO
  91.  
  92. /* Stored Procedure: SP_evolved_config_retrieve
  93.  *
  94.  * Retrieves an evolved_config.
  95.  *
  96.  * Parameters:
  97.  *
  98.  *  (nvarchar) - config identifier
  99.  *
  100.  */
  101. CREATE PROC [${owner}].[SP_evolved_config_retrieve]
  102.     @id nvarchar(32) = NULL
  103. AS
  104.     IF @id is NULL BEGIN
  105.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_config_retrieve] (nvarchar)@id'
  106.         RETURN
  107.     END
  108.    
  109.     SELECT config
  110.     FROM [${owner}].[evolved_configs]
  111.     WHERE id = @id
  112. GO
  113.  
  114. /* Stored Procedure: SP_evolved_config_update
  115.  *
  116.  * Updates an evolved_config.
  117.  *
  118.  * Parameters:
  119.  *
  120.  *  (nvarchar) - config identifier
  121.  *  (ntext)    - config
  122.  *  (nvarchar) - owner (optional, defaults to "unknown")
  123.  *
  124.  */
  125. CREATE PROC [${owner}].[SP_evolved_config_update]
  126.     @id nvarchar(32) = NULL,
  127.     @config ntext = NULL,
  128.     @owner nvarchar(32) = 'unknown'
  129. AS
  130.     IF @id is NULL OR @config is NULL BEGIN
  131.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_config_update] (nvarchar)@id (ntext)@config[, (nvarchar)@owner]'
  132.         RETURN
  133.     END
  134.    
  135.     UPDATE [${owner}].[evolved_configs]
  136.     SET
  137.         config = @config,
  138.         dtUpd  = getdate(),
  139.         owner  = @owner
  140.     WHERE id = @id
  141. GO
  142.  
  143. /* Stored Procedure: SP_evolved_config_delete
  144.  *
  145.  * Deletes an evolved_config.
  146.  *
  147.  * Parameters:
  148.  *
  149.  *  (nvarchar) - config identifier
  150.  *
  151.  */
  152. CREATE PROC [${owner}].[SP_evolved_config_delete]
  153.     @id nvarchar(32) = NULL
  154. AS
  155.     IF @id is NULL BEGIN
  156.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_config_delete] (nvarchar)@id'
  157.         RETURN
  158.     END
  159.    
  160.     DELETE FROM [${owner}].[evolved_configs]
  161.     WHERE id = @id
  162. GO
  163.  
  164. /* Stored Procedure: SP_evolved_config_load
  165.  *
  166.  * Shortcut to CRUD retrieve.
  167.  *
  168.  * Parameters:
  169.  *
  170.  *  (nvarchar) - config identifier
  171.  *
  172.  */
  173. CREATE PROC [${owner}].[SP_evolved_config_load]
  174.     @id nvarchar(32) = NULL
  175. AS
  176.     IF @id is NULL BEGIN
  177.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_config_load] (nvarchar)@id'
  178.         RETURN
  179.     END
  180.    
  181.     EXEC [${owner}].[SP_evolved_config_retrieve] @id
  182. GO
  183.  
  184. /* Stored Procedure: SP_evolved_config_save
  185.  *
  186.  * Shortcut to CRUD create, update.
  187.  *
  188.  * Parameters:
  189.  *
  190.  *  (nvarchar) - config identifier
  191.  *  (ntext)    - config
  192.  *  (nvarchar) - owner (optional, defaults to "unknown")
  193.  *
  194.  */
  195. CREATE PROC [${owner}].[SP_evolved_config_save]
  196.     @id nvarchar(32) = NULL,
  197.     @config ntext = NULL,
  198.     @owner nvarchar(32) = 'unknown'
  199. AS
  200.     IF @id is NULL OR @config is NULL BEGIN
  201.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_config_save] (nvarchar)@id (ntext)@config[, (nvarchar)@owner]'
  202.         RETURN
  203.     END
  204.    
  205.     EXEC [${owner}].[SP_evolved_config_retrieve] @id
  206.     IF @@ROWCOUNT > 0
  207.         BEGIN
  208.             EXEC [${owner}].[SP_evolved_config_update] @id, @config, @owner
  209.         END
  210.     ELSE
  211.         BEGIN
  212.             EXEC [${owner}].[SP_evolved_config_create] @id, @config, @owner
  213.         END
  214. GO
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225. /* Table: evolved_types
  226.  *
  227.  * Orderly definitions of type fields.
  228.  *
  229.  * Primary key:
  230.  *
  231.  *  (int) - PK_evolved_types_id
  232.  *
  233.  * Indexes:
  234.  *
  235.  *  (clustered)     - PK_evolved_types_id
  236.  *
  237.  * Defaults:
  238.  *
  239.  *  (smalldatetime) - DF_evolved_types_dtIns. Defaults to GETDATE()
  240.  *  (smalldatetime) - DF_evolved_types_dtUpd. Defaults to GETDATE()
  241.  *  (nvarchar)      - DF_evolved_types_owner. Defaults to "unknown"
  242.  *
  243.  */
  244. CREATE TABLE [${owner}].[evolved_types] (
  245.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_types_id PRIMARY KEY CLUSTERED,
  246.     [name] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  247.     [orderly] ntext COLLATE SQL_Latin1_General_CP1_CI_AI NULL,
  248.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_types_dtIns DEFAULT getdate(),
  249.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_types_dtUpd DEFAULT getdate(),
  250.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_types_owner DEFAULT 'unknown'
  251. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY];
  252. GO
  253.  
  254. /* Stored Procedure: SP_evolved_type_create
  255.  *
  256.  * Creates a new evolved_type.
  257.  *
  258.  * Parameters:
  259.  *
  260.  *  (nvarchar) - type identifier
  261.  *  (ntext)    - orderly
  262.  *  (nvarchar) - owner (optional, defaults to "unknown")
  263.  *
  264.  */
  265. CREATE PROC [${owner}].[SP_evolved_type_create]
  266.     @name nvarchar(32) = NULL,
  267.     @orderly ntext = NULL,
  268.     @owner nvarchar(32) = 'unknown'
  269. AS
  270.     IF @name is NULL BEGIN
  271.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_type_create] (nvarchar)@name[, (ntext)@orderly, (nvarchar)@owner]'
  272.         RETURN
  273.     END
  274.    
  275.     INSERT INTO [${owner}].[evolved_types](name, orderly, owner)
  276.     VALUES (@name, @orderly, @owner)
  277. GO
  278.  
  279. /* Stored Procedure: SP_evolved_type_retrieve
  280.  *
  281.  * Retrieves an evolved_type.
  282.  *
  283.  * Parameters:
  284.  *
  285.  *  (nvarchar) - type identifier
  286.  *
  287.  */
  288. CREATE PROC [${owner}].[SP_evolved_type_retrieve]
  289.     @name nvarchar(32) = NULL
  290. AS
  291.     IF @name is NULL BEGIN
  292.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_type_retrieve] (nvarchar)@name'
  293.         RETURN
  294.     END
  295.    
  296.     SELECT id, orderly
  297.     FROM [${owner}].[evolved_types]
  298.     WHERE name = @name
  299. GO
  300.  
  301. /* Stored Procedure: SP_evolved_type_update
  302.  *
  303.  * Updates an evolved_type.
  304.  *
  305.  * Parameters:
  306.  *
  307.  *  (nvarchar) - type identifier
  308.  *  (ntext)    - orderly
  309.  *  (nvarchar) - owner (optional, defaults to "unknown")
  310.  *
  311.  */
  312. CREATE PROC [${owner}].[SP_evolved_type_update]
  313.     @name nvarchar(32) = NULL,
  314.     @orderly ntext = NULL,
  315.     @owner nvarchar(32) = 'unknown'
  316. AS
  317.     IF @name is NULL BEGIN
  318.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_type_update] (nvarchar)@name[, (ntext)@orderly, (nvarchar)@owner]'
  319.         RETURN
  320.     END
  321.    
  322.     UPDATE [${owner}].[evolved_types]
  323.     SET
  324.         orderly = @orderly,
  325.         dtUpd   = getdate(),
  326.         owner   = @owner
  327.     WHERE name = @name
  328. GO
  329.  
  330. /* Stored Procedure: SP_evolved_type_delete
  331.  *
  332.  * Deletes an evolved_type.
  333.  *
  334.  * Parameters:
  335.  *
  336.  *  (nvarchar) - type identifier
  337.  *
  338.  */
  339. CREATE PROC [${owner}].[SP_evolved_type_delete]
  340.     @name nvarchar(32) = NULL
  341. AS
  342.     IF @name is NULL BEGIN
  343.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_type_delete] (nvarchar)@name'
  344.         RETURN
  345.     END
  346.    
  347.     DELETE FROM [${owner}].[evolved_types] WHERE name = @name
  348. GO
  349.  
  350. /* Stored Procedure: SP_evolved_type_load
  351.  *
  352.  * Shortcut to CRUD retrieve.
  353.  *
  354.  * Parameters:
  355.  *
  356.  *  (nvarchar) - type identifier
  357.  *
  358.  */
  359. CREATE PROC [${owner}].[SP_evolved_type_load]
  360.     @name nvarchar(32) = NULL
  361. AS
  362.     IF @name is NULL BEGIN
  363.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_type_load] (nvarchar)@name'
  364.         RETURN
  365.     END
  366.    
  367.     EXEC [${owner}].[SP_evolved_type_retrieve] @name
  368. GO
  369.  
  370. /* Stored Procedure: SP_evolved_type_save
  371.  *
  372.  * Shortcut to CRUD create, update.
  373.  *
  374.  * Parameters:
  375.  *
  376.  *  (nvarchar) - type identifier
  377.  *  (ntext)    - orderly
  378.  *  (nvarchar) - owner (optional, defaults to "unknown")
  379.  *
  380.  */
  381. CREATE PROC [${owner}].[SP_evolved_type_save]
  382.     @name nvarchar(32) = NULL,
  383.     @orderly ntext = NULL,
  384.     @owner nvarchar(32) = 'unknown'
  385. AS
  386.     IF @name is NULL BEGIN
  387.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_type_save] (nvarchar)@name[, (ntext)@orderly, (nvarchar)@owner]'
  388.         RETURN
  389.     END
  390.    
  391.     EXEC [${owner}].[SP_evolved_type_retrieve] @name
  392.     IF @@ROWCOUNT > 0
  393.         BEGIN
  394.             EXEC [${owner}].[SP_evolved_type_update] @name, @orderly, @owner
  395.         END
  396.     ELSE
  397.         BEGIN
  398.             EXEC [${owner}].[SP_evolved_type_create] @name, @orderly, @owner
  399.         END
  400. GO
  401.  
  402.  
  403.  
  404.  
  405.  
  406. /* Table: evolved_entities
  407.  *
  408.  * Entities registry.
  409.  *
  410.  * Primary key:
  411.  *
  412.  *  (int) - PK_evolved_entities_id
  413.  *
  414.  * Foreign keys:
  415.  *
  416.  *  (int) - FK_evolved_entities_idType
  417.  *
  418.  * Indexes:
  419.  *
  420.  *  (clustered)     - PK_evolved_entities_id
  421.  *
  422.  * Defaults:
  423.  *
  424.  *  (smalldatetime) - DF_evolved_entities_dtIns. Defaults to GETDATE()
  425.  *  (smalldatetime) - DF_evolved_entities_dtUpd. Defaults to GETDATE()
  426.  *  (nvarchar)      - DF_evolved_entities_owner. Defaults to "unknown"
  427.  *
  428.  */
  429. CREATE TABLE [${owner}].[evolved_entities] (
  430.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_entities_id PRIMARY KEY CLUSTERED,
  431.     [idType] int NOT NULL CONSTRAINT FK_evolved_entities_idType FOREIGN KEY REFERENCES [${owner}].[evolved_types](id) ON DELETE CASCADE,
  432.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_entities_dtIns DEFAULT getdate(),
  433.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_entities_dtUpd DEFAULT getdate(),
  434.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_entities_owner DEFAULT 'unknown'
  435. ) ON [PRIMARY]
  436. GO
  437.  
  438. /* Table: evolved_entity_string
  439.  *
  440.  * Entity string value.
  441.  *
  442.  * Primary key:
  443.  *
  444.  *  (int) - PK_evolved_entity_string_id
  445.  *
  446.  * Foreign keys:
  447.  *
  448.  *  (int) - FK_evolved_entity_string_e
  449.  *
  450.  * Indexes:
  451.  *
  452.  *  (clustered)    - PK_evolved_entity_string_id
  453.  *  (nonclustered) - UN_evolved_entity_string_e_a
  454.  *  (nonclustered) - IN_evolved_entity_string_a_v
  455.  *
  456.  * Defaults:
  457.  *
  458.  *  (smalldatetime) - DF_evolved_entity_string_dtIns. Defaults to GETDATE()
  459.  *  (smalldatetime) - DF_evolved_entity_string_dtUpd. Defaults to GETDATE()
  460.  *  (nvarchar)      - DF_evolved_entity_string_owner. Defaults to "unknown"
  461.  *
  462.  */
  463. CREATE TABLE [${owner}].[evolved_entity_string] (
  464.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_entity_string_id PRIMARY KEY CLUSTERED,
  465.     [e] int NOT NULL CONSTRAINT FK_evolved_entity_string_e FOREIGN KEY REFERENCES [${owner}].[evolved_entities](id) ON DELETE CASCADE,
  466.     [a] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  467.     [v] nvarchar(256) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  468.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_string_dtIns DEFAULT getdate(),
  469.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_string_dtUpd DEFAULT getdate(),
  470.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_entity_string_owner DEFAULT 'unknown'
  471. ) ON [PRIMARY]
  472. GO
  473.  
  474. CREATE UNIQUE NONCLUSTERED INDEX UN_evolved_entity_string_e_a ON [${owner}].[evolved_entity_string](e, a) ON [PRIMARY];
  475. CREATE NONCLUSTERED INDEX IN_evolved_entity_string_a_v ON [${owner}].[evolved_entity_string](a, v) ON [PRIMARY];
  476. GO
  477.  
  478. /* Table: evolved_entity_text
  479.  *
  480.  * Entity huge string value.
  481.  *
  482.  * Primary key:
  483.  *
  484.  *  (int) - PK_evolved_entity_text_id
  485.  *
  486.  * Foreign keys:
  487.  *
  488.  *  (int) - FK_evolved_entity_text_e
  489.  *
  490.  * Indexes:
  491.  *
  492.  *  (clustered)    - PK_evolved_entity_text_id
  493.  *  (nonclustered) - UN_evolved_entity_text_e_a
  494.  *
  495.  * Defaults:
  496.  *
  497.  *  (smalldatetime) - DF_evolved_entity_text_dtIns. Defaults to GETDATE()
  498.  *  (smalldatetime) - DF_evolved_entity_text_dtUpd. Defaults to GETDATE()
  499.  *  (nvarchar)      - DF_evolved_entity_text_owner. Defaults to "unknown"
  500.  *
  501.  */
  502. CREATE TABLE [${owner}].[evolved_entity_text] (
  503.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_entity_text_id PRIMARY KEY CLUSTERED,
  504.     [e] int NOT NULL CONSTRAINT FK_evolved_entity_text_e FOREIGN KEY REFERENCES [${owner}].[evolved_entities](id) ON DELETE CASCADE,
  505.     [a] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  506.     [v] ntext COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  507.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_text_dtIns DEFAULT getdate(),
  508.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_text_dtUpd DEFAULT getdate(),
  509.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_entity_text_owner DEFAULT 'unknown'
  510. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
  511. GO
  512.  
  513. CREATE UNIQUE NONCLUSTERED INDEX UN_evolved_entity_text_e_a ON [${owner}].[evolved_entity_text](e, a) ON [PRIMARY];
  514. GO
  515.  
  516. /* Table: evolved_entity_integer
  517.  *
  518.  * Entity integer value.
  519.  *
  520.  * Primary key:
  521.  *
  522.  *  (int) - PK_evolved_entity_integer_id
  523.  *
  524.  * Foreign keys:
  525.  *
  526.  *  (int) - FK_evolved_entity_integer_e
  527.  *
  528.  * Indexes:
  529.  *
  530.  *  (clustered)    - PK_evolved_entity_integer_id
  531.  *  (nonclustered) - UN_evolved_entity_integer_e_a
  532.  *  (nonclustered) - IN_evolved_entity_integer_a_v
  533.  *
  534.  * Defaults:
  535.  *
  536.  *  (smalldatetime) - DF_evolved_entity_integer_dtIns. Defaults to GETDATE()
  537.  *  (smalldatetime) - DF_evolved_entity_integer_dtUpd. Defaults to GETDATE()
  538.  *  (nvarchar)      - DF_evolved_entity_integer_owner. Defaults to "unknown"
  539.  *
  540.  */
  541. CREATE TABLE [${owner}].[evolved_entity_integer] (
  542.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_entity_integer_id PRIMARY KEY CLUSTERED,
  543.     [e] int NOT NULL CONSTRAINT FK_evolved_entity_integer_e FOREIGN KEY REFERENCES [${owner}].[evolved_entities](id) ON DELETE CASCADE,
  544.     [a] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  545.     [v] int NOT NULL,
  546.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_integer_dtIns DEFAULT getdate(),
  547.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_integer_dtUpd DEFAULT getdate(),
  548.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_entity_integer_owner DEFAULT 'unknown'
  549. ) ON [PRIMARY]
  550. GO
  551.  
  552. CREATE UNIQUE NONCLUSTERED INDEX UN_evolved_entity_integer_e_a ON [${owner}].[evolved_entity_integer](e, a) ON [PRIMARY];
  553. CREATE NONCLUSTERED INDEX IN_evolved_entity_integer_a_v ON [${owner}].[evolved_entity_integer](a, v) ON [PRIMARY];
  554. GO
  555.  
  556. /* Table: evolved_entity_number
  557.  *
  558.  * Entity number value.
  559.  *
  560.  * Primary key:
  561.  *
  562.  *  (int) - PK_evolved_entity_number_id
  563.  *
  564.  * Foreign keys:
  565.  *
  566.  *  (int) - FK_evolved_entity_number_e
  567.  *
  568.  * Indexes:
  569.  *
  570.  *  (clustered)    - PK_evolved_entity_number_id
  571.  *  (nonclustered) - UN_evolved_entity_number_e_a
  572.  *  (nonclustered) - IN_evolved_entity_number_a_v
  573.  *
  574.  * Defaults:
  575.  *
  576.  *  (smalldatetime) - DF_evolved_entity_number_dtIns. Defaults to GETDATE()
  577.  *  (smalldatetime) - DF_evolved_entity_number_dtUpd. Defaults to GETDATE()
  578.  *  (nvarchar)      - DF_evolved_entity_number_owner. Defaults to "unknown"
  579.  *
  580.  */
  581. CREATE TABLE [${owner}].[evolved_entity_number] (
  582.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_entity_number_id PRIMARY KEY CLUSTERED,
  583.     [e] int NOT NULL CONSTRAINT FK_evolved_entity_number_e FOREIGN KEY REFERENCES [${owner}].[evolved_entities](id) ON DELETE CASCADE,
  584.     [a] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  585.     [v] decimal(18, 4) NOT NULL,
  586.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_number_dtIns DEFAULT getdate(),
  587.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_number_dtUpd DEFAULT getdate(),
  588.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_entity_number_owner DEFAULT 'unknown'
  589. ) ON [PRIMARY]
  590. GO
  591.  
  592. CREATE UNIQUE NONCLUSTERED INDEX UN_evolved_entity_number_e_a ON [${owner}].[evolved_entity_number](e, a) ON [PRIMARY];
  593. CREATE NONCLUSTERED INDEX IN_evolved_entity_number_a_v ON [${owner}].[evolved_entity_number](a, v) ON [PRIMARY];
  594. GO
  595.  
  596. /* Table: evolved_entity_boolean
  597.  *
  598.  * Entity boolean value.
  599.  *
  600.  * Primary key:
  601.  *
  602.  *  (int) - PK_evolved_entity_boolean_id
  603.  *
  604.  * Foreign keys:
  605.  *
  606.  *  (int) - FK_evolved_entity_boolean_e
  607.  *
  608.  * Indexes:
  609.  *
  610.  *  (clustered)    - PK_evolved_entity_boolean_id
  611.  *  (nonclustered) - UN_evolved_entity_boolean_e_a
  612.  *  (nonclustered) - IN_evolved_entity_boolean_a_v
  613.  *
  614.  * Defaults:
  615.  *
  616.  *  (smalldatetime) - DF_evolved_entity_boolean_dtIns. Defaults to GETDATE()
  617.  *  (smalldatetime) - DF_evolved_entity_boolean_dtUpd. Defaults to GETDATE()
  618.  *  (nvarchar)      - DF_evolved_entity_boolean_owner. Defaults to "unknown"
  619.  *
  620.  */
  621. CREATE TABLE [${owner}].[evolved_entity_boolean] (
  622.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_entity_boolean_id PRIMARY KEY CLUSTERED,
  623.     [e] int NOT NULL CONSTRAINT FK_evolved_entity_boolean_e FOREIGN KEY REFERENCES [${owner}].[evolved_entities](id) ON DELETE CASCADE,
  624.     [a] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  625.     [v] bit NOT NULL,
  626.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_boolean_dtIns DEFAULT getdate(),
  627.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_boolean_dtUpd DEFAULT getdate(),
  628.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_entity_boolean_owner DEFAULT 'unknown'
  629. ) ON [PRIMARY]
  630. GO
  631.  
  632. CREATE UNIQUE NONCLUSTERED INDEX UN_evolved_entity_boolean_e_a ON [${owner}].[evolved_entity_boolean](e, a) ON [PRIMARY];
  633. CREATE NONCLUSTERED INDEX IN_evolved_entity_boolean_a_v ON [${owner}].[evolved_entity_boolean](a, v) ON [PRIMARY];
  634. GO
  635.  
  636. /* Table: evolved_entity_datetime
  637.  *
  638.  * Entity datetime value.
  639.  *
  640.  * Primary key:
  641.  *
  642.  *  (int) - PK_evolved_entity_datetime_id
  643.  *
  644.  * Foreign keys:
  645.  *
  646.  *  (int) - FK_evolved_entity_datetime_e
  647.  *
  648.  * Indexes:
  649.  *
  650.  *  (clustered)    - PK_evolved_entity_datetime_id
  651.  *  (nonclustered) - UN_evolved_entity_datetime_e_a
  652.  *  (nonclustered) - IN_evolved_entity_datetime_a_v
  653.  *
  654.  * Defaults:
  655.  *
  656.  *  (smalldatetime) - DF_evolved_entity_datetime_dtIns. Defaults to GETDATE()
  657.  *  (smalldatetime) - DF_evolved_entity_datetime_dtUpd. Defaults to GETDATE()
  658.  *  (nvarchar)      - DF_evolved_entity_datetime_owner. Defaults to "unknown"
  659.  *
  660.  */
  661. CREATE TABLE [${owner}].[evolved_entity_datetime] (
  662.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_entity_datetime_id PRIMARY KEY CLUSTERED,
  663.     [e] int NOT NULL CONSTRAINT FK_evolved_entity_datetime_e FOREIGN KEY REFERENCES [${owner}].[evolved_entities](id) ON DELETE CASCADE,
  664.     [a] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  665.     [v] smalldatetime NOT NULL,
  666.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_datetime_dtIns DEFAULT getdate(),
  667.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_datetime_dtUpd DEFAULT getdate(),
  668.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_entity_datetime_owner DEFAULT 'unknown'
  669. ) ON [PRIMARY]
  670. GO
  671.  
  672. CREATE UNIQUE NONCLUSTERED INDEX UN_evolved_entity_datetime_e_a ON [${owner}].[evolved_entity_datetime](e, a) ON [PRIMARY];
  673. CREATE NONCLUSTERED INDEX IN_evolved_entity_datetime_a_v ON [${owner}].[evolved_entity_datetime](a, v) ON [PRIMARY];
  674. GO
  675.  
  676. /* Table: evolved_entity_optionals
  677.  *
  678.  * Entity optional values.
  679.  *
  680.  * Primary key:
  681.  *
  682.  *  (int) - PK_evolved_entity_optionals_id
  683.  *
  684.  * Foreign keys:
  685.  *
  686.  *  (int) - FK_evolved_entity_optionals_e
  687.  *
  688.  * Indexes:
  689.  *
  690.  *  (clustered)    - PK_evolved_entity_optionals_id
  691.  *  (nonclustered) - UN_evolved_entity_optionals_e_a
  692.  *
  693.  * Defaults:
  694.  *
  695.  *  (smalldatetime) - DF_evolved_entity_optionals_dtIns. Defaults to GETDATE()
  696.  *  (smalldatetime) - DF_evolved_entity_optionals_dtUpd. Defaults to GETDATE()
  697.  *  (nvarchar)      - DF_evolved_entity_optionals_owner. Defaults to "unknown"
  698.  *
  699.  */
  700. CREATE TABLE [${owner}].[evolved_entity_optionals] (
  701.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_entity_optionals_id PRIMARY KEY CLUSTERED,
  702.     [e] int NOT NULL CONSTRAINT FK_evolved_entity_optionals_e FOREIGN KEY REFERENCES [${owner}].[evolved_entities](id) ON DELETE CASCADE,
  703.     [a] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  704.     [v] ntext COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
  705.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_optionals_dtIns DEFAULT getdate(),
  706.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_entity_optionals_dtUpd DEFAULT getdate(),
  707.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_entity_optionals_owner DEFAULT 'unknown'
  708. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
  709. GO
  710.  
  711. CREATE UNIQUE NONCLUSTERED INDEX UN_evolved_entity_optionals_e_a ON [${owner}].[evolved_entity_optionals](e, a) ON [PRIMARY];
  712. GO
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723. /* Table: evolved_sets
  724.  *
  725.  * Set definitions.
  726.  *
  727.  * Primary key:
  728.  *
  729.  *  (int) - PK_evolved_sets_id
  730.  *
  731.  * Indexes:
  732.  *
  733.  *  (clustered)    - PK_evolved_sets_id
  734.  *  (nonclustered) - UN_evolved_sets_name
  735.  *
  736.  * Defaults:
  737.  *
  738.  *  (smalldatetime) - DF_evolved_sets_dtIns. Defaults to GETDATE()
  739.  *  (smalldatetime) - DF_evolved_sets_dtUpd. Defaults to GETDATE()
  740.  *  (nvarchar)      - DF_evolved_sets_owner. Defaults to "unknown"
  741.  *
  742.  */
  743. CREATE TABLE [${owner}].[evolved_sets] (
  744.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_sets_id PRIMARY KEY CLUSTERED,
  745.     [name] nvarchar(32) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL CONSTRAINT UN_evolved_sets_name UNIQUE NONCLUSTERED, /* Addresses, Identities etc */
  746.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_sets_dtIns DEFAULT getdate(),
  747.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_sets_dtUpd DEFAULT getdate(),
  748.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_sets_owner DEFAULT 'unknown'
  749. ) ON [PRIMARY];
  750. GO
  751.  
  752. /* Table: evolved_set_members
  753.  *
  754.  * Members of sets.
  755.  *
  756.  * Primary key:
  757.  *
  758.  *  (int) - PK_evolved_set_members_id
  759.  *
  760.  * Foreign keys:
  761.  *
  762.  *  (int) - FK_evolved_set_members_idSet
  763.  *  (int) - FK_evolved_set_members_idMember
  764.  *
  765.  * Indexes:
  766.  *
  767.  *  (clustered) - PK_evolved_set_members_id
  768.  *
  769.  * Defaults:
  770.  *
  771.  *  (smalldatetime) - DF_evolved_set_members_dtIns. Defaults to GETDATE()
  772.  *  (smalldatetime) - DF_evolved_set_members_dtUpd. Defaults to GETDATE()
  773.  *  (nvarchar)      - DF_evolved_set_members_owner. Defaults to "unknown"
  774.  *
  775.  */
  776. CREATE TABLE [${owner}].[evolved_set_members] (
  777.     [id] int IDENTITY(1, 1) NOT NULL CONSTRAINT PK_evolved_set_members_id PRIMARY KEY CLUSTERED,
  778.     [idSet] int NOT NULL CONSTRAINT FK_evolved_set_members_idSet FOREIGN KEY REFERENCES [${owner}].[evolved_sets](id) ON DELETE CASCADE,
  779.     [idMember] int NOT NULL CONSTRAINT FK_evolved_set_members_idMember FOREIGN KEY REFERENCES [${owner}].[evolved_entities](id) ON DELETE CASCADE,
  780.     [dtIns] smalldatetime NOT NULL CONSTRAINT DF_evolved_set_members_dtIns DEFAULT getdate(),
  781.     [dtUpd] smalldatetime NOT NULL CONSTRAINT DF_evolved_set_members_dtUpd DEFAULT getdate(),
  782.     [owner] nvarchar(32) NOT NULL CONSTRAINT DF_evolved_set_members_owner DEFAULT 'unknown'
  783. ) ON [PRIMARY];
  784. GO
  785.  
  786. /* Stored Procedure: SP_evolved_set_create
  787.  *
  788.  * Creates a new evolved_set.
  789.  *
  790.  * Parameters:
  791.  *
  792.  *  (nvarchar) - set name
  793.  *  (nvarchar) - owner (optional, defaults to "unknown")
  794.  *
  795.  */
  796. CREATE PROC [${owner}].[SP_evolved_set_create]
  797.     @name nvarchar(32) = NULL,
  798.     @owner nvarchar(32) = 'unknown'
  799. AS
  800.     IF @name is NULL BEGIN
  801.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_set_create] (type)@name[, (nvarchar)@owner]'
  802.         RETURN
  803.     END
  804.    
  805.     INSERT INTO [${owner}].[evolved_sets](name, owner)
  806.     VALUES (@name, @owner)
  807. GO
  808.  
  809. /* Stored Procedure: SP_evolved_set_retrieve
  810.  *
  811.  * Retrieves the id of an evolved_set.
  812.  *
  813.  * Parameters:
  814.  *
  815.  *  (nvarchar) - set name
  816.  *
  817.  */
  818. CREATE PROC [${owner}].[SP_evolved_set_retrieve]
  819.     @name nvarchar(32) = NULL
  820. AS
  821.     IF @name is NULL BEGIN
  822.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_set_retrieve] (nvarchar)@name'
  823.         RETURN
  824.     END
  825.    
  826.     SELECT idMember
  827.     FROM [${owner}].[evolved_sets]
  828.         INNER JOIN [${owner}].[evolved_set_members] ON [${owner}].[evolved_sets].[id] = [${owner}].[evolved_set_members].[idSet]
  829.     WHERE name = @name
  830. GO
  831.  
  832. /* Stored Procedure: SP_evolved_set_update
  833.  *
  834.  * Updates an evolved_set name.
  835.  *
  836.  * Parameters:
  837.  *
  838.  *  (int)      - set identifier
  839.  *  (nvarchar) - set name
  840.  *  (nvarchar) - owner (optional, defaults to "unknown")
  841.  *
  842.  */
  843. CREATE PROC [${owner}].[SP_evolved_set_update]
  844.     @old nvarchar(32) = NULL,
  845.     @new nvarchar(32) = NULL,
  846.     @owner nvarchar(32) = 'unknown'
  847. AS
  848.     IF @old is NULL OR @new is NULL BEGIN
  849.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_set_update] (nvarchar)@old, (nvarchar)@new[, (nvarchar)@owner]'
  850.         RETURN
  851.     END
  852.    
  853.     UPDATE [${owner}].[evolved_sets]
  854.     SET
  855.         name = @new,
  856.         dtUpd = getdate(),
  857.         owner = @owner
  858.     WHERE name = @old
  859. GO
  860.  
  861. /* Stored Procedure: SP_evolved_set_delete
  862.  *
  863.  * Deletes an evolved_set.
  864.  *
  865.  * Parameters:
  866.  *
  867.  *  (nvarchar) - set name
  868.  *
  869.  */
  870. CREATE PROC [${owner}].[SP_evolved_set_delete]
  871.     @name nvarchar(32) = NULL
  872. AS
  873.     IF @name is NULL BEGIN
  874.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_set_delete] (nvarchar)@name'
  875.         RETURN
  876.     END
  877.    
  878.     DELETE FROM [${owner}].[evolved_sets]
  879.     WHERE name = @name
  880. GO
  881.  
  882. /* Stored Procedure: SP_evolved_set_assign
  883.  *
  884.  * Assigns an entity instance to a set.
  885.  *
  886.  * Parameters:
  887.  *
  888.  *  (nvarchar) - set name
  889.  *  (int)      - entity id
  890.  *  (nvarchar) - owner (optional, defaults to "unknown")
  891.  *
  892.  */
  893. CREATE PROC [${owner}].[SP_evolved_set_assign]
  894.     @set_name nvarchar(32) = NULL,
  895.     @entity_id int = NULL,
  896.     @owner nvarchar(32) = 'unknown'
  897. AS
  898.     IF @set_name is NULL OR @entity_id is NULL BEGIN
  899.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_set_assign] (nvarchar)@set_name, (int)@entity_id[, (nvarchar)@owner]'
  900.         RETURN
  901.     END
  902.    
  903.     DECLARE @set_id int;
  904.     SET @set_id = (SELECT id FROM [${owner}].[evolved_sets] WHERE name = @set_name);
  905.    
  906.     IF @set_id is NOT NULL BEGIN
  907.         INSERT INTO [${owner}].[evolved_set_members](idSet, idMember, owner)
  908.         VALUES (@set_id, @entity_id, @owner)
  909.     END
  910. GO
  911.  
  912. /* Stored Procedure: SP_evolved_set_unassign
  913.  *
  914.  * Unassigns an entity instance from a set.
  915.  *
  916.  * Parameters:
  917.  *
  918.  *  (nvarchar) - set name
  919.  *  (nvarchar) - entity name
  920.  *  (int)      - entity id
  921.  *
  922.  */
  923. CREATE PROC [${owner}].[SP_evolved_set_unassign]
  924.     @set_name nvarchar(32) = NULL,
  925.     @entity_id int = NULL
  926. AS
  927.     IF @set_name is NULL OR @entity_id is NULL BEGIN
  928.         PRINT 'This stored procedure syntax is: EXEC [${owner}].[SP_evolved_set_unassign] (nvarchar)@set_name, (int)@entity_id'
  929.         RETURN
  930.     END
  931.    
  932.     DECLARE @set_id int;
  933.     SET @set_id = (SELECT id FROM [${owner}].[evolved_sets] WHERE name = @set_name);
  934.    
  935.     IF @set_id is NOT NULL BEGIN
  936.         DELETE FROM [${owner}].[evolved_set_members]
  937.         WHERE (idSet = @set_id) AND (idMember = @entity_id)
  938.     END
  939. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement