4657 lines
178 KiB
Transact-SQL
4657 lines
178 KiB
Transact-SQL
--REPLACE @MY_DD_ECM_DB WITH REAL_DBNAME
|
||
|
||
USE IDB
|
||
GO
|
||
CREATE TABLE TBIDB_LAYOUT_CONFIG
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
TITLE VARCHAR(100) NOT NULL,
|
||
COMMENT VARCHAR(500),
|
||
XML_CONTENT NVARCHAR(MAX) NOT NULL,
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_LAYOUT_CONFIG PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_LAYOUT_CONFIG_TITLE UNIQUE (TITLE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_LAYOUT_CONFIG_AFT_UPD ON TBIDB_LAYOUT_CONFIG
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_LAYOUT_CONFIG SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_LAYOUT_CONFIG.GUID = INSERTED.GUID
|
||
GO
|
||
--DROP TABLE TBIDB_CATALOG
|
||
CREATE TABLE TBIDB_CATALOG
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
CAT_TITLE VARCHAR(100) NOT NULL,
|
||
CAT_STRING VARCHAR(900) NOT NULL,
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_CATALOG PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_CATALOG_TITLE UNIQUE (CAT_TITLE)
|
||
)
|
||
GO
|
||
INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('DB_VERSION','1.0.4.1')
|
||
GO
|
||
INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('FILESTORE_PRAEFIX','\\IDB\OBJECTS')
|
||
GO
|
||
--INSERT INTO [TBIDB_CATALOG] ([CAT_TITLE],[CAT_STRING]) VALUES ('APPSERV1','172.24.12.39')
|
||
--GO
|
||
INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('GHOST_SELECT','
|
||
SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM @MY_DD_ECM_DB.dbo.TBDD_USER T ORDER BY USERNAME')
|
||
GO
|
||
CREATE TRIGGER TBIDB_CATALOG_AFT_UPD ON TBIDB_CATALOG
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_CATALOG SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_CATALOG.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
--DROP TABLE TBIDB_OBJECT_STORE
|
||
CREATE TABLE TBIDB_OBJECT_STORE
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
OBJECT_TITLE VARCHAR(250) NOT NULL,
|
||
CAT_ID INTEGER NOT NULL,
|
||
OBJ_PATH VARCHAR(250) NOT NULL,
|
||
IS_ARCHIVE BIT NOT NULL DEFAULT 0,
|
||
COMMENT VARCHAR(500),
|
||
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_OBJECT_STORE PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_OS_CAT_ID FOREIGN KEY (CAT_ID) REFERENCES TBIDB_CATALOG (GUID) ,
|
||
CONSTRAINT UQ1_TBIDB_OBJECT_STORE UNIQUE (OBJECT_TITLE),
|
||
CONSTRAINT UQ2_TBIDB_OBJECT_STORE UNIQUE (OBJ_PATH)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_OBJECT_STORE_AFT_UPD ON TBIDB_OBJECT_STORE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_OBJECT_STORE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_OBJECT_STORE.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
CREATE TABLE TBIDB_DOCTYPE_OBJECT_STORE
|
||
(
|
||
GUID INT NOT NULL IDENTITY (1, 1),
|
||
DOCTYPE_ID INT NOT NULL,
|
||
OBJECT_ST_ID INT NOT NULL,
|
||
ACTIVE BIT NOT NULL DEFAULT 1,
|
||
COMMENT VARCHAR(1000),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_DOCTYPE_OBJECT_STORE PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_DOCTYPE_OBJECT_STORE UNIQUE (DOCTYPE_ID,OBJECT_ST_ID),
|
||
CONSTRAINT FK_TBIDB_DOCTYPE_OBJECT_STORE_OSTID FOREIGN KEY (OBJECT_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_DOCTYPE_OBJECT_STORE_AFT_UPD ON TBIDB_DOCTYPE_OBJECT_STORE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_DOCTYPE_OBJECT_STORE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_DOCTYPE_OBJECT_STORE.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
CREATE TABLE TBIDB_TERM_VALUE_VARCHAR
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
TERM_VALUE VARCHAR(900) NOT NULL,
|
||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(100),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_TERM_VALUE_VARCHAR PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_TERM_VALUE_VARCHAR UNIQUE (TERM_VALUE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_TERM_VALUE_VARCHAR_AFT_UPD ON TBIDB_TERM_VALUE_VARCHAR
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_TERM_VALUE_VARCHAR SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_TERM_VALUE_VARCHAR.GUID = INSERTED.GUID
|
||
GO
|
||
CREATE TABLE TBIDB_TERM_VALUE_INTEGER
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
TERM_VALUE BIGINT NOT NULL,
|
||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(100),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_TERM_VALUE_INTEGER PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_TERM_VALUE_INTEGER UNIQUE (TERM_VALUE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_TERM_VALUE_INTEGER_AFT_UPD ON TBIDB_TERM_VALUE_INTEGER
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_TERM_VALUE_INTEGER SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_TERM_VALUE_INTEGER.GUID = INSERTED.GUID
|
||
GO
|
||
INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE) VALUES (0);
|
||
INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE) VALUES (1);
|
||
|
||
CREATE TABLE TBIDB_TERM_VALUE_FLOAT
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
TERM_VALUE FLOAT NOT NULL,
|
||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(100),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_TERM_VALUE_FLOAT PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_TERM_VALUE_FLOAT UNIQUE (TERM_VALUE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_TERM_VALUE_FLOAT_AFT_UPD ON TBIDB_TERM_VALUE_FLOAT
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_TERM_VALUE_FLOAT SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_TERM_VALUE_FLOAT.GUID = INSERTED.GUID
|
||
GO
|
||
CREATE TABLE TBIDB_TERM_VALUE_DECIMAL
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
TERM_VALUE DECIMAL(19, 0) NOT NULL,
|
||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(100),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_TERM_VALUE_DECIMAL PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_TERM_VALUE_DECIMAL UNIQUE (TERM_VALUE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_TERM_VALUE_DECIMAL_AFT_UPD ON TBIDB_TERM_VALUE_DECIMAL
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_TERM_VALUE_DECIMAL SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_TERM_VALUE_DECIMAL.GUID = INSERTED.GUID
|
||
GO
|
||
CREATE TABLE TBIDB_TERM_VALUE_DATE
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
TERM_VALUE DATE NOT NULL,
|
||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(100),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_TERM_VALUE_DATE PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_TERM_VALUE_DATE UNIQUE (TERM_VALUE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_TERM_VALUE_DATE_AFT_UPD ON TBIDB_TERM_VALUE_DATE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_TERM_VALUE_DATE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_TERM_VALUE_DATE.GUID = INSERTED.GUID
|
||
GO
|
||
--DELETE FROM TBIDB_OBJECT_METADATA
|
||
--DELETE FROM TBIDB_LANGUAGE_TERM_METADATA
|
||
--DELETE FROM TBIDB_FILE_OBJECT
|
||
--DELETE FROM TBIDB_OBJECT_BE
|
||
--DELETE FROM TBIDB_OBJECT_METADATA_CHANGE
|
||
--DELETE FROM TBIDB_OBJECT
|
||
DROP TABLE TBIDB_TERM_VALUE_DATETIME
|
||
CREATE TABLE TBIDB_TERM_VALUE_DATETIME
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
TERM_VALUE DATETIME NOT NULL,
|
||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(100),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_TERM_VALUE_DATETIME PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_TERM_VALUE_DATETIME UNIQUE (TERM_VALUE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_TERM_VALUE_DATETIME_UPD ON TBIDB_TERM_VALUE_DATETIME
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_TERM_VALUE_DATETIME SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_TERM_VALUE_DATETIME.GUID = INSERTED.GUID
|
||
GO
|
||
--DROP TABLE TBIDB_ATTRIBUTE_TYPE
|
||
CREATE TABLE TBIDB_ATTRIBUTE_TYPE
|
||
(
|
||
GUID TINYINT NOT NULL IDENTITY (1, 1),
|
||
NAME_TYPE VARCHAR(100) NOT NULL,
|
||
COMMENT VARCHAR(500),
|
||
BIT1 BIT NOT NULL DEFAULT 0,
|
||
BIT2 BIT NOT NULL DEFAULT 0,
|
||
BIT3 BIT NOT NULL DEFAULT 0,
|
||
BIT4 BIT NOT NULL DEFAULT 0,
|
||
DELETED BIT NOT NULL DEFAULT 0,
|
||
DELETED_WHO VARCHAR(100),
|
||
DELETED_WHEN DATETIME,
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_ATTRIBUTE_TYPE PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_ATTRIBUTE_TYPE UNIQUE (NAME_TYPE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_ATTRIBUTE_TYPE_AFT_UPD ON TBIDB_ATTRIBUTE_TYPE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_ATTRIBUTE_TYPE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_ATTRIBUTE_TYPE.GUID = INSERTED.GUID
|
||
GO
|
||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VARCHAR'); --1
|
||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('BIG INTEGER');--2
|
||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('FLOAT');--3
|
||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DECIMAL');--4
|
||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DATE');--5
|
||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DATETIME');--6
|
||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('BIT');--7
|
||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VECTOR STRING');--8
|
||
INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VECTOR INTEGER');--9
|
||
|
||
--DROP TABLE TBIDB_OBJECT_KIND
|
||
CREATE TABLE TBIDB_OBJECT_KIND
|
||
(
|
||
GUID TINYINT NOT NULL IDENTITY (1, 1),
|
||
KIND_NAME VARCHAR(100) NOT NULL,
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_OBJECT_KIND PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_OBJECT_KIND UNIQUE (KIND_NAME)
|
||
)
|
||
GO
|
||
INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('DOC');
|
||
INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('OBJECT');
|
||
GO
|
||
CREATE TRIGGER TBIDB_OBJECT_KIND_AFT_UPD ON TBIDB_OBJECT_KIND
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_OBJECT_KIND SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_OBJECT_KIND.GUID = INSERTED.GUID
|
||
GO
|
||
--DROP TABLE TBIDB_BUSINESS_ENTITY
|
||
CREATE TABLE TBIDB_BUSINESS_ENTITY
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
TITLE VARCHAR(500) NOT NULL,
|
||
PARENT_ENT_ID INTEGER NOT NULL DEFAULT 0,
|
||
INHERITS_ATTRIBUTES BIT NOT NULL DEFAULT 1,
|
||
COMMENT VARCHAR(1000),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_BUSINESS_ENTITY PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_BUSINESS_ENTITY UNIQUE (TITLE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_BUSINESS_ENTITY_AFT_UPD ON TBIDB_BUSINESS_ENTITY
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_BUSINESS_ENTITY SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_BUSINESS_ENTITY.GUID = INSERTED.GUID
|
||
GO
|
||
INSERT INTO TBIDB_BUSINESS_ENTITY (TITLE) VALUES ('DEFAULT');
|
||
|
||
CREATE TABLE TBIDB_LANGUAGE
|
||
(
|
||
GUID TINYINT NOT NULL IDENTITY (1, 1),
|
||
LANG_CODE VARCHAR(10) NOT NULL,
|
||
CREATE_DEFAULT_ENTRY BIT NOT NULL DEFAULT 0,
|
||
COMMENT VARCHAR(1000),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_LANGUAGE PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_LANGUAGE UNIQUE (LANG_CODE)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_LANGUAGE_AFT_UPD ON TBIDB_LANGUAGE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_LANGUAGE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_LANGUAGE.GUID = INSERTED.GUID
|
||
GO
|
||
INSERT INTO TBIDB_LANGUAGE (LANG_CODE,CREATE_DEFAULT_ENTRY) VALUES ('de-DE',1);
|
||
INSERT INTO TBIDB_LANGUAGE (LANG_CODE,CREATE_DEFAULT_ENTRY) VALUES ('en-EN',1);
|
||
|
||
GO
|
||
F
|
||
--DROP TABLE TBIDB_OBJECT_BE
|
||
--DROP TABLE TBIDB_OBJECT
|
||
CREATE TABLE TBIDB_OBJECT
|
||
(
|
||
IDB_OBJ_ID BIGINT NOT NULL IDENTITY (10000, 1),
|
||
KIND_TYPE_ID TINYINT NOT NULL,
|
||
REFERENCE_KEY BIGINT,
|
||
PARENT_OBJ_ID BIGINT NOT NULL DEFAULT 0,
|
||
IS_VERSION BIT NOT NULL DEFAULT 0,
|
||
ACTIVE BIT NOT NULL DEFAULT 1,
|
||
DELETED BIT NOT NULL DEFAULT 0,
|
||
COMMENT VARCHAR(1000),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_OBJECT PRIMARY KEY (IDB_OBJ_ID),
|
||
CONSTRAINT UQ_TBIDB_OBJECT UNIQUE (REFERENCE_KEY),
|
||
CONSTRAINT FK_KIND_TYPE_ID FOREIGN KEY (KIND_TYPE_ID) REFERENCES TBIDB_OBJECT_KIND (GUID)
|
||
)
|
||
GO
|
||
|
||
CREATE TRIGGER TBIDB_OBJECT_AFT_INS ON TBIDB_OBJECT
|
||
WITH EXECUTE AS CALLER
|
||
FOR INSERT
|
||
AS
|
||
BEGIN TRY
|
||
DECLARE
|
||
@IDB_OBJ_ID BIGINT,
|
||
@REFERENCE_KEY BIGINT
|
||
SELECT
|
||
@IDB_OBJ_ID = IDB_OBJ_ID,
|
||
@REFERENCE_KEY = REFERENCE_KEY
|
||
FROM INSERTED
|
||
|
||
IF @REFERENCE_KEY IS NULL
|
||
UPDATE TBIDB_OBJECT SET REFERENCE_KEY = @IDB_OBJ_ID
|
||
FROM INSERTED
|
||
WHERE TBIDB_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
END CATCH
|
||
GO
|
||
CREATE TRIGGER TBIDB_OBJECT_AFT_UPD ON TBIDB_OBJECT
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_OBJECT SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
|
||
GO
|
||
CREATE TABLE TBIDB_DOC_INFO
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
OBJ_ST_ID INTEGER NOT NULL,
|
||
FILENAME_ONLY VARCHAR(250) NOT NULL,
|
||
FILENAME_EXT VARCHAR(250) NOT NULL,
|
||
EXTENSION_TERM BIGINT NOT NULL,
|
||
RELATIVE_PATH VARCHAR(250) NOT NULL,
|
||
RELATIVE_PATH_ONLY_TERM BIGINT NOT NULL,
|
||
FULL_TEXT VARBINARY(MAX),
|
||
FILE_SIZE INTEGER,
|
||
COMMENT VARCHAR(1000),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_DOC_INFO PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_DI_IDB_OBJ_ID UNIQUE (IDB_OBJ_ID),
|
||
CONSTRAINT FK_DI_IDB_OBJ_ST_ID FOREIGN KEY (OBJ_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID),
|
||
CONSTRAINT FK_DI_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FKTBIDB_DOC_INFO_RELATIVEPATHONLYTERM FOREIGN KEY (RELATIVE_PATH_ONLY_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID),
|
||
CONSTRAINT FKTBIDB_DOC_INFO_EXTENSIONTERM FOREIGN KEY (EXTENSION_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_DOC_INFO_AFT_UPD ON TBIDB_DOC_INFO
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_DOC_INFO SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_DOC_INFO.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
|
||
GO
|
||
|
||
--DROP TABLE TBIDB_OBJECT_BE
|
||
CREATE TABLE TBIDB_OBJECT_BE
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
BE_ID INTEGER NOT NULL,
|
||
COMMENT VARCHAR(1000),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_OBJECT_BE PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_OBJECT_BE UNIQUE (IDB_OBJ_ID,BE_ID),
|
||
CONSTRAINT FK_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FK_BE_ID FOREIGN KEY (BE_ID) REFERENCES TBIDB_BUSINESS_ENTITY (GUID),
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_OBJECT_BE_AFT_UPD ON TBIDB_OBJECT_BE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_OBJECT_BE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_OBJECT_BE.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
|
||
GO
|
||
|
||
--ALTER TABLE TBIDB_ATTRIBUTE ADD SYS_ATTRIBUTE BIT NOT NULL DEFAULT 0
|
||
GO
|
||
CREATE TABLE TBIDB_ATTRIBUTE
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
TITLE VARCHAR(100) NOT NULL,
|
||
TYP_ID TINYINT NOT NULL,
|
||
MULTI_CONTEXT BIT NOT NULL DEFAULT 0,
|
||
VIEW_SEQUENCE INTEGER NOT NULL DEFAULT 0,
|
||
VIEW_VISIBLE BIT NOT NULL DEFAULT 1,
|
||
SYS_ATTRIBUTE BIT NOT NULL DEFAULT 0,
|
||
COMMENT VARCHAR(1000),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
DELETED BIT NOT NULL DEFAULT 0,
|
||
DELETED_WHO VARCHAR(100),
|
||
DELETED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_ATTRIBUTE PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_ATTRIBUTE UNIQUE (TITLE),
|
||
CONSTRAINT FK_TYP_ID FOREIGN KEY (TYP_ID) REFERENCES TBIDB_ATTRIBUTE_TYPE (GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_ATTRIBUTE_AFT_UPD ON TBIDB_ATTRIBUTE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_ATTRIBUTE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_ATTRIBUTE.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
CREATE TRIGGER TBIDB_ATTRIBUTE_AFT_INS ON TBIDB_ATTRIBUTE
|
||
FOR INSERT
|
||
AS
|
||
DECLARE
|
||
@ATTRIBUTE_ID INTEGER,
|
||
@TYP_ID INTEGER,
|
||
@ADDED_WHO VARCHAR(50),
|
||
@TITLE VARCHAR(100),
|
||
@ADD_DEFAULT BIT,
|
||
@LANG_ID INTEGER,
|
||
@LANG_CODE VARCHAR(5)
|
||
SELECT
|
||
@ATTRIBUTE_ID = GUID,
|
||
@TYP_ID = TYP_ID,
|
||
@ADDED_WHO = ADDED_WHO,
|
||
@TITLE = TITLE
|
||
FROM INSERTED
|
||
|
||
SELCT
|
||
DECLARE @NEW_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@TITLE,'',@TERM_ID = @NEW_TERM_ID OUTPUT;
|
||
|
||
DECLARE cursorIDBLANGUAGE_ATTR CURSOR FOR
|
||
select GUID,LANG_CODE from TBIDB_LANGUAGE where CREATE_DEFAULT_ENTRY = 1
|
||
OPEN cursorIDBLANGUAGE_ATTR
|
||
FETCH NEXT FROM cursorIDBLANGUAGE_ATTR INTO @LANG_ID,@LANG_CODE
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_ATTRIBUTE_LANGUAGE]
|
||
([ATTRIBUTE_ID]
|
||
,[LANGUAGE_ID]
|
||
,[TERM_ID]
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@ATTRIBUTE_ID
|
||
,@LANG_ID
|
||
,@NEW_TERM_ID
|
||
,@ADDED_WHO);
|
||
EXEC PRIDB_CREATE_VIEW_DOC_DATA @LANG_CODE
|
||
FETCH NEXT FROM cursorIDBLANGUAGE_ATTR INTO @LANG_ID,@LANG_CODE
|
||
END
|
||
CLOSE cursorIDBLANGUAGE_ATTR
|
||
DEALLOCATE cursorIDBLANGUAGE_ATTR
|
||
|
||
GO
|
||
|
||
CREATE TABLE TBIDB_BE_ATTRIBUTE
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
BE_ID INTEGER NOT NULL,
|
||
ATTR_ID INTEGER NOT NULL,
|
||
DEFAULT_SEARCH_ATTRIBUTE BIT NOT NULL DEFAULT 0,
|
||
COMMENT VARCHAR(1000),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_BE_ATTRIBUTE PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ_TBIDB_BE_ATTRIBUTE UNIQUE (BE_ID,ATTR_ID),
|
||
CONSTRAINT FK_IDB_BEATT_BEID FOREIGN KEY (BE_ID) REFERENCES TBIDB_BUSINESS_ENTITY (GUID),
|
||
CONSTRAINT FK_IDB_BEATT_AID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_BE_ATTRIBUTE_AFT_UPD ON TBIDB_BE_ATTRIBUTE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_BE_ATTRIBUTE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_BE_ATTRIBUTE.GUID = INSERTED.GUID
|
||
GO
|
||
--DROP TABLE TBIDB_TERM_LANGUAGE
|
||
CREATE TABLE TBIDB_TERM_LANGUAGE
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
LANGUAGE_ID TINYINT NOT NULL DEFAULT 1,
|
||
TEXT_TERM_ID BIGINT NOT NULL,
|
||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(100),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_TERM_LANGUAGE PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TL_LANGUAGE_ID FOREIGN KEY (LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE (GUID),
|
||
)
|
||
GO
|
||
CREATE TRIGGER [dbo].[TBIDB_TERM_LANGUAGE_AFT_UPD] ON [dbo].[TBIDB_TERM_LANGUAGE]
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_TERM_LANGUAGE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_TERM_LANGUAGE.GUID = INSERTED.GUID
|
||
GO
|
||
--DROP TABLE TBIDB_OBJECT_METADATA_CHANGE
|
||
|
||
--DROP TABLE TBIDB_OBJECT_METADATA
|
||
CREATE TABLE TBIDB_OBJECT_METADATA
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
ATTR_ID INTEGER NOT NULL,
|
||
TEXT_TERM_LANG_ID BIGINT,
|
||
INT_TERM_ID BIGINT,
|
||
DEC_TERM_ID BIGINT,
|
||
FLOAT_TERM_ID BIGINT,
|
||
DATE_TERM_ID BIGINT,
|
||
DATETIME_TERM_ID BIGINT,
|
||
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(100),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_OBJECT_METADATA PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_OMD_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FK_OMD_ATTR_ID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
|
||
CONSTRAINT FK_OMD_TEXT_TERM_ID FOREIGN KEY (TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
|
||
CONSTRAINT FK_OMD_INT_TERM_ID FOREIGN KEY (INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID),
|
||
CONSTRAINT FK_OMD_DEC_TERM_ID FOREIGN KEY (DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID),
|
||
CONSTRAINT FK_OMD_FLOAT_TERM_ID FOREIGN KEY (FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID),
|
||
CONSTRAINT FK_OMD_DATE_TERM_ID FOREIGN KEY (DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID),
|
||
CONSTRAINT FK_OMD_DATETIME_TERM_ID FOREIGN KEY (DATETIME_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATETIME (GUID),
|
||
)
|
||
GO
|
||
CREATE NONCLUSTERED INDEX IDXTBIDB_OBJECT_METADATA_IDBOBJID
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([IDB_OBJ_ID])
|
||
GO
|
||
|
||
|
||
CREATE TABLE TBIDB_OBJECT_METADATA_CHANGE
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
ATTR_ID INTEGER NOT NULL,
|
||
OLD_TEXT_TERM_LANG_ID BIGINT,
|
||
NEW_TEXT_TERM_LANG_ID BIGINT,
|
||
OLD_INT_TERM_ID BIGINT,
|
||
NEW_INT_TERM_ID BIGINT,
|
||
OLD_DEC_TERM_ID BIGINT,
|
||
NEW_DEC_TERM_ID BIGINT,
|
||
OLD_FLOAT_TERM_ID BIGINT,
|
||
NEW_FLOAT_TERM_ID BIGINT,
|
||
OLD_DATE_TERM_ID BIGINT,
|
||
NEW_DATE_TERM_ID BIGINT,
|
||
COMMENT VARCHAR(500),
|
||
ADDED_WHO VARCHAR(100),
|
||
CHANGED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
CHANGED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CONSTRAINT PK_TBIDB_OBJECT_METADATA_CHANGE PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_OMDC_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FK_OMDC_ATTR_ID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
|
||
CONSTRAINT FK_OMDC_OLD_TEXT_TERM_ID FOREIGN KEY (OLD_TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
|
||
CONSTRAINT FK_OMDC_NEW_TEXT_TERM_ID FOREIGN KEY (NEW_TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
|
||
CONSTRAINT FK_OMDC_OLD_INT_TERM_ID FOREIGN KEY (OLD_INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID),
|
||
CONSTRAINT FK_OMDC_NEW_INT_TERM_ID FOREIGN KEY (NEW_INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID),
|
||
CONSTRAINT FK_OMDC_OLD_DEC_TERM_ID FOREIGN KEY (OLD_DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID),
|
||
CONSTRAINT FK_OMDC_NEW_DEC_TERM_ID FOREIGN KEY (NEW_DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID),
|
||
CONSTRAINT FK_OMDC_OLD_FLOAT_TERM_ID FOREIGN KEY (OLD_FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID),
|
||
CONSTRAINT FK_OMDC_NEW_FLOAT_TERM_ID FOREIGN KEY (NEW_FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID),
|
||
CONSTRAINT FK_OMDC_OLD_DATE_TERM_ID FOREIGN KEY (OLD_DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID),
|
||
CONSTRAINT FK_OMDC_NEW_DATE_TERM_ID FOREIGN KEY (NEW_DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID),
|
||
)
|
||
GO
|
||
|
||
CREATE TABLE [dbo].[TBIDB_OBJECT_METADATA_ADD](
|
||
[GUID] BIGINT IDENTITY(1,1) NOT NULL,
|
||
[IDB_OBJ_ID] BIGINT NOT NULL,
|
||
[ATTR_ID] INT NOT NULL,
|
||
[TEXT_TERM_LANG_ID] BIGINT,
|
||
[INT_TERM_ID] BIGINT,
|
||
[DEC_TERM_ID] BIGINT,
|
||
[FLOAT_TERM_ID] BIGINT,
|
||
[DATE_TERM_ID] BIGINT,
|
||
[ADDED_WHO] VARCHAR(100),
|
||
[ADDED_WHEN] DATETIME NOT NULL,
|
||
CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_ATTRID FOREIGN KEY(ATTR_ID) REFERENCES TBIDB_ATTRIBUTE(GUID),
|
||
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_IDBOBJID FOREIGN KEY(IDB_OBJ_ID) REFERENCES TBIDB_OBJECT(IDB_OBJ_ID),
|
||
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DATETERMID FOREIGN KEY(DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE(GUID),
|
||
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DECTERMID FOREIGN KEY(DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL(GUID),
|
||
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_FLOATTERMID FOREIGN KEY(FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT(GUID),
|
||
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_INTTERMID FOREIGN KEY(INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER(GUID),
|
||
CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_TEXTTERMLANGID FOREIGN KEY(TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE(GUID),
|
||
)
|
||
|
||
GO
|
||
|
||
CREATE TABLE TBIDB_OBJECT_METADATA_DELETE
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
ATTR_ID INTEGER NOT NULL,
|
||
TEXT_TERM_LANG_ID BIGINT,
|
||
INT_TERM_ID BIGINT,
|
||
DEC_TERM_ID BIGINT,
|
||
FLOAT_TERM_ID BIGINT,
|
||
DATE_TERM_ID BIGINT,
|
||
USER_DELETE_ID INTEGER NOT NULL DEFAULT 0,
|
||
ADDED_WHO VARCHAR(100),
|
||
ADDED_WHEN DATETIME,
|
||
DELETED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
|
||
DELETED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CONSTRAINT PK_TBIDB_OBJECT_METADATA_DELETE PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_OMDD_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FK_OMDD_ATTR_ID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
|
||
CONSTRAINT FK_OMDD_TEXT_TERM_ID FOREIGN KEY (TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
|
||
CONSTRAINT FK_OMDD_INT_TERM_ID FOREIGN KEY (INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID),
|
||
CONSTRAINT FK_OMDD_DEC_TERM_ID FOREIGN KEY (DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID),
|
||
CONSTRAINT FK_OMDD_FLOAT_TERM_ID FOREIGN KEY (FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID),
|
||
CONSTRAINT FK_OMDD_DATE_TERM_ID FOREIGN KEY (DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID),
|
||
)
|
||
GO
|
||
CREATE TRIGGER [dbo].[TBIDB_OBJECT_METADATA_AFT_UPD] ON [dbo].[TBIDB_OBJECT_METADATA]
|
||
FOR UPDATE
|
||
AS
|
||
DECLARE
|
||
@IDB_OBJ_ID BIGINT,
|
||
@ATTR_ID INTEGER,
|
||
@CHANGED_WHO VARCHAR(100),
|
||
@OLD_TEXT_TERM_LANG_ID BIGINT,
|
||
@NEW_TEXT_TERM_LANG_ID BIGINT,
|
||
@OLD_INT_TERM_ID BIGINT,
|
||
@NEW_INT_TERM_ID BIGINT,
|
||
@OLD_DEC_TERM_ID BIGINT,
|
||
@NEW_DEC_TERM_ID BIGINT,
|
||
@OLD_FLOAT_TERM_ID BIGINT,
|
||
@NEW_FLOAT_TERM_ID BIGINT,
|
||
@OLD_DATE_TERM_ID BIGINT,
|
||
@NEW_DATE_TERM_ID BIGINT
|
||
|
||
SELECT
|
||
@OLD_TEXT_TERM_LANG_ID = TEXT_TERM_LANG_ID,
|
||
@OLD_INT_TERM_ID = INT_TERM_ID,
|
||
@OLD_DEC_TERM_ID = DEC_TERM_ID,
|
||
@OLD_FLOAT_TERM_ID = FLOAT_TERM_ID,
|
||
@OLD_DATE_TERM_ID = DATE_TERM_ID
|
||
FROM DELETED
|
||
SELECT
|
||
@IDB_OBJ_ID = IDB_OBJ_ID,
|
||
@ATTR_ID = ATTR_ID,
|
||
@NEW_TEXT_TERM_LANG_ID = TEXT_TERM_LANG_ID,
|
||
@NEW_INT_TERM_ID = INT_TERM_ID,
|
||
@NEW_DEC_TERM_ID = DEC_TERM_ID,
|
||
@NEW_FLOAT_TERM_ID = FLOAT_TERM_ID,
|
||
@NEW_DATE_TERM_ID = DATE_TERM_ID,
|
||
@CHANGED_WHO = CHANGED_WHO
|
||
FROM INSERTED
|
||
|
||
IF @IDB_OBJ_ID IS NOT NULL
|
||
INSERT INTO TBIDB_OBJECT_METADATA_CHANGE (
|
||
IDB_OBJ_ID,
|
||
ATTR_ID,
|
||
OLD_TEXT_TERM_LANG_ID,
|
||
NEW_TEXT_TERM_LANG_ID,
|
||
OLD_INT_TERM_ID,
|
||
NEW_INT_TERM_ID,
|
||
OLD_DEC_TERM_ID,
|
||
NEW_DEC_TERM_ID,
|
||
OLD_FLOAT_TERM_ID,
|
||
NEW_FLOAT_TERM_ID,
|
||
OLD_DATE_TERM_ID,
|
||
NEW_DATE_TERM_ID,
|
||
CHANGED_WHO) VALUES
|
||
(@IDB_OBJ_ID,
|
||
@ATTR_ID,
|
||
@OLD_TEXT_TERM_LANG_ID,
|
||
@NEW_TEXT_TERM_LANG_ID,
|
||
@OLD_INT_TERM_ID,
|
||
@NEW_INT_TERM_ID,
|
||
@OLD_DEC_TERM_ID,
|
||
@NEW_DEC_TERM_ID,
|
||
@OLD_FLOAT_TERM_ID,
|
||
@NEW_FLOAT_TERM_ID,
|
||
@OLD_DATE_TERM_ID,
|
||
@NEW_DATE_TERM_ID,
|
||
@CHANGED_WHO)
|
||
|
||
|
||
UPDATE TBIDB_OBJECT_METADATA SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_OBJECT_METADATA.GUID = INSERTED.GUID
|
||
GO
|
||
CREATE TRIGGER TBIDB_OBJECT_METADATA_AFT_INS ON TBIDB_OBJECT_METADATA
|
||
WITH EXECUTE AS CALLER
|
||
FOR INSERT
|
||
AS
|
||
BEGIN TRY
|
||
DECLARE
|
||
@TEXT_TERM_ID BIGINT,
|
||
@INT_TERM_ID BIGINT,
|
||
@DEC_TERM_ID BIGINT,
|
||
@FLOAT_TERM_ID BIGINT,
|
||
@DATE_TERM_ID BIGINT,
|
||
@ATTR_ID INTEGER,
|
||
@TYPID TINYINT,
|
||
@ERROR VARCHAR(100)
|
||
SELECT
|
||
@TEXT_TERM_ID = TEXT_TERM_LANG_ID,
|
||
@INT_TERM_ID = INT_TERM_ID,
|
||
@DEC_TERM_ID = DEC_TERM_ID,
|
||
@FLOAT_TERM_ID = FLOAT_TERM_ID,
|
||
@DATE_TERM_ID = DATE_TERM_ID,
|
||
@ATTR_ID = ATTR_ID
|
||
FROM INSERTED
|
||
|
||
SET @ERROR = 'NONE'
|
||
SELECT @TYPID = TYP_ID FROM TBIDB_ATTRIBUTE WHERE GUID = @ATTR_ID
|
||
|
||
IF @TYPID in (1,8) AND @TEXT_TERM_ID IS NULL
|
||
SET @ERROR = 'NO @TEXT_TERM_ID FOR INSERT'
|
||
ELSE IF @TYPID in (2,9) AND @INT_TERM_ID IS NULL
|
||
SET @ERROR = 'NO @INT_TERM_ID FOR INSERT'
|
||
ELSE IF @TYPID = 3 AND @FLOAT_TERM_ID IS NULL
|
||
SET @ERROR = 'NO @@FLOAT_TERM_ID FOR INSERT'
|
||
ELSE IF @TYPID = 4 AND @DEC_TERM_ID IS NULL
|
||
SET @ERROR = 'NO @DEC_TERM_ID FOR INSERT'
|
||
ELSE IF @TYPID = 5 AND @DATE_TERM_ID IS NULL
|
||
SET @ERROR = 'NO @DATE_TERM_ID FOR INSERT'
|
||
ELSE IF @TYPID = 7 AND @INT_TERM_ID IS NULL
|
||
SET @ERROR = 'NO @INT_TERM_ID FOR INSERT'
|
||
|
||
IF @ERROR <> 'NONE'
|
||
BEGIN
|
||
RAISERROR(@ERROR, 16, 1)
|
||
rollback transaction
|
||
END
|
||
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
END CATCH
|
||
GO
|
||
--DROP TABLE TBIDB_ATT_LANGUAGE
|
||
CREATE TABLE TBIDB_ATTRIBUTE_LANGUAGE
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
ATTRIBUTE_ID INT NOT NULL,
|
||
LANGUAGE_ID TINYINT NOT NULL,
|
||
TERM_ID BIGINT NOT NULL,
|
||
COMMENT VARCHAR(500),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_ATT_LANGUAGE PRIMARY KEY(GUID),
|
||
CONSTRAINT UN_TBIDB_ATT_LANGUAGE UNIQUE(ATTRIBUTE_ID,LANGUAGE_ID),
|
||
CONSTRAINT FK_ATTRIBUTE_ID FOREIGN KEY(ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE(GUID),
|
||
CONSTRAINT FK_LANGUAGE_ID FOREIGN KEY(LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE(GUID),
|
||
CONSTRAINT FK_TERM_ID FOREIGN KEY(TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_ATT_LANGUAGE_AFT_UPD ON TBIDB_ATTRIBUTE_LANGUAGE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_ATTRIBUTE_LANGUAGE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_ATTRIBUTE_LANGUAGE.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
CREATE VIEW VWIDB_ATTRIBUTE_LANG
|
||
AS
|
||
select
|
||
ATTR.GUID As AttributeID
|
||
,TERM.TERM_VALUE as Attribute
|
||
,ATTR.TYP_ID as AttributeTypeID
|
||
,ATY.NAME_TYPE as AttributeType
|
||
,LANG.LANG_CODE
|
||
from
|
||
TBIDB_ATTRIBUTE ATTR INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE AL On ATTR.GUID = AL.ATTRIBUTE_ID
|
||
INNER JOIN TBIDB_LANGUAGE LANG ON AL.LANGUAGE_ID = LANG.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON AL.TERM_ID = TERM.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_TYPE ATY ON ATTR.TYP_ID = ATY.GUID
|
||
GO
|
||
|
||
CREATE VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
|
||
SELECT
|
||
T.GUID,
|
||
T.[BE_ID]
|
||
,T2.TITLE AS BE
|
||
,[ATTR_ID]
|
||
,T6.TERM_VALUE AS ATTR_TITLE
|
||
,T1.TYP_ID
|
||
,T1.TYP_ID AS [TYPE_ID]
|
||
,T3.NAME_TYPE AS [TYPE_NAME]
|
||
,T1.VIEW_VISIBLE
|
||
,T1.VIEW_SEQUENCE
|
||
,T1.SYS_ATTRIBUTE
|
||
,T5.GUID AS LANG_ID
|
||
,T5.LANG_CODE
|
||
,T.ADDED_WHEN
|
||
,T.ADDED_WHO
|
||
,T.CHANGED_WHEN
|
||
,T.CHANGED_WHO
|
||
FROM [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID
|
||
INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID
|
||
WHERE T1.DELETED = 0
|
||
GO
|
||
|
||
CREATE TABLE TBIDB_BASE
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
CONFIG_NAME VARCHAR(900) NOT NULL,
|
||
CONFIG_VALUE VARCHAR(MAX) NOT NULL,
|
||
COMMENT VARCHAR(500),
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_BASE PRIMARY KEY (GUID),
|
||
CONSTRAINT UQ1_TBIDB_BASE UNIQUE (CONFIG_NAME)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_BASE_AFT_UPD ON TBIDB_BASE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_BASE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_BASE.GUID = INSERTED.GUID
|
||
GO
|
||
INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('DB_VERSION','1.0.1')
|
||
GO
|
||
INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('GHOST_SELECT','
|
||
SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM MY_DD_ECM_DB.dbo.TBDD_USER T ORDER BY USERNAME')
|
||
GO
|
||
|
||
|
||
CREATE TABLE TBIDB_STATES
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
STATE_LTERM_ID BIGINT NOT NULL,
|
||
ADDED_WHO BIGINT,
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
CHANGED_WHO BIGINT,
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_STATES PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_STATES_STATE_LTERM_ID FOREIGN KEY (STATE_LTERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
|
||
CONSTRAINT FK_TBIDB_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
|
||
GO
|
||
CREATE TRIGGER TBIDB_STATES_AFT_UPD ON TBIDB_STATES
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_STATES SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_STATES.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
|
||
|
||
|
||
CREATE TABLE TBIDB_STATE_LANG_GROUP
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
STATE_ID BIGINT NOT NULL,
|
||
LANG_TERM_ID BIGINT NOT NULL,
|
||
ADDED_WHO BIGINT,
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
CHANGED_WHO BIGINT,
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_STATE_LANG_GROUP PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID),
|
||
CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TTBIDB_STATE_LANG_GROUP_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
|
||
GO
|
||
CREATE TRIGGER TBIDB_STATE_LANG_GROUP_AFT_UPD ON TBIDB_STATE_LANG_GROUP
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_STATE_LANG_GROUP SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_STATE_LANG_GROUP.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
CREATE TABLE TBIDB_CONVERSATION_OBJECT
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
TITLE_TERM_ID BIGINT NOT NULL,
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
ADDED_WHO BIGINT,
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
CHANGED_WHO BIGINT,
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_CONVERSATION_OBJECT PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TITLE_TERM_ID FOREIGN KEY (TITLE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
|
||
CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
|
||
GO
|
||
CREATE TRIGGER TBIDB_CONVERSATION_OBJECT_AFT_UPD ON TBIDB_CONVERSATION_OBJECT
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_CONVERSATION_OBJECT SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_CONVERSATION_OBJECT.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
|
||
GO
|
||
--delete from TBIDB_MYOBJECT_STATES
|
||
CREATE TABLE TBIDB_MYOBJECT_STATES
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
MY_OBJECT_ID BIGINT NOT NULL,
|
||
STATE_ID BIGINT NOT NULL,
|
||
COMMENT_ID BIGINT ,
|
||
ADDED_WHO BIGINT,
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
CHANGED_WHO BIGINT,
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_MYOBJECT_STATES PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_MYOBJECT_STATES_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID),
|
||
CONSTRAINT FK_TBIDB_MYOBJECT_STATES_COMMENT_ID_T_ID FOREIGN KEY (COMMENT_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
|
||
CONSTRAINT FK_TBIDB_MYOBJECT_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_MYOBJECT_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
|
||
GO
|
||
CREATE TRIGGER TBIDB_MYOBJECT_STATES_AFT_UPD ON TBIDB_MYOBJECT_STATES
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_MYOBJECT_STATES SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
|
||
|
||
CREATE TABLE TBIDB_CONVERSATION_USER
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
CONV_ID BIGINT NOT NULL,
|
||
USER_OR_GROUP_ID INTEGER NOT NULL,
|
||
IS_USER BIT NOT NULL,
|
||
ADDED_WHO BIGINT,
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT PK_TBIDB_CONVERSATION_USER PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_CONVERSATION_USER_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
|
||
CONSTRAINT FK_TBIDB_CONVERSATION_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
|
||
GO
|
||
CREATE TABLE TBIDB_COMMON_SQL
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
TITLE VARCHAR(200) NOT NULL,
|
||
SQL_COMMAND NVARCHAR(MAX),
|
||
ACTIVE BIT NOT NULL DEFAULT 1,
|
||
ADDED_WHO VARCHAR(100),
|
||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||
CHANGED_WHO VARCHAR(100),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_COMMON_SQL PRIMARY KEY (GUID)
|
||
)
|
||
GO
|
||
|
||
|
||
|
||
|
||
DROP TABLE TBIDB_SEARCH_PROFILE
|
||
CREATE TABLE TBIDB_SEARCH_PROFILE
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
TITLE_ID BIGINT NOT NULL,
|
||
COMMENT VARCHAR(900),
|
||
ACTIVE BIT NOT NULL DEFAULT 1,
|
||
ADDED_WHO BIGINT,
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
CHANGED_WHO BIGINT,
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_SEARCH_PROFILE PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_SEARCH_PROFILE_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_SEARCH_PROFILE_AFT_UPD ON TBIDB_SEARCH_PROFILE
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_SEARCH_PROFILE SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_SEARCH_PROFILE.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
--CREATE TABLE TBIDB_SEARCH_RESULT_ATTRIBUTES
|
||
--(
|
||
-- GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
-- SEARCH_PROFIL_ID INTEGER NOT NULL,
|
||
-- ATTRIBUTE_ID INTEGER NOT NULL,
|
||
-- SEQUENCE INTEGER DEFAULT 0,
|
||
-- ADDED_WHO BIGINT,
|
||
-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
-- CONSTRAINT PK_TBIDB_SEARCH_RESULT_ATTRIBUTES_GUID PRIMARY KEY (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
-- CONSTRAINT UQ_TBIDB_SEARCH_RESULT_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID)
|
||
--)
|
||
--GO
|
||
|
||
|
||
CREATE TABLE TBIDB_SEARCH_LANGUAGE_SQL_RESULT
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
SEARCH_PROFIL_ID INTEGER NOT NULL,
|
||
LANGUAGE_ID TINYINT NOT NULL,
|
||
SEARCH_TERM_ID BIGINT NOT NULL,
|
||
ADDED_WHO BIGINT,
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
CHANGED_WHO BIGINT,
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_GUID PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
|
||
CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_LID FOREIGN KEY (LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE (GUID),
|
||
CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_STID FOREIGN KEY (SEARCH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
--CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID),
|
||
CONSTRAINT UQ_TBIDB_SEARCH_LANGUAGE_SQL_RESULT UNIQUE(SEARCH_PROFIL_ID,LANGUAGE_ID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_SEARCH_LANGUAGE_SQL_RESULT_AFT_UPD ON TBIDB_SEARCH_LANGUAGE_SQL_RESULT
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_SEARCH_LANGUAGE_SQL_RESULT .GUID = INSERTED.GUID
|
||
GO
|
||
DROP TABLE TBIDB_SEARCH_PROFILE_USER_GROUP
|
||
CREATE TABLE TBIDB_SEARCH_PROFILE_USER_GROUP
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
SEARCH_PROFIL_ID INTEGER NOT NULL,
|
||
USER_ID INTEGER NOT NULL DEFAULT 0,
|
||
GROUP_ID INTEGER NOT NULL DEFAULT 0,
|
||
ADDED_WHO BIGINT,
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT PK_TBIDB_SEARCH_PROFILE_USER_GUID PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_PID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
|
||
CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
--CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID),
|
||
CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_USER UNIQUE(SEARCH_PROFIL_ID,USER_ID,GROUP_ID)
|
||
)
|
||
GO
|
||
|
||
|
||
--CREATE TABLE TBIDB_SEARCH_PROFILE_GROUP
|
||
--(
|
||
-- GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
-- SEARCH_PROFIL_ID INTEGER NOT NULL,
|
||
-- GROUP_ID INTEGER NOT NULL,
|
||
-- ADDED_WHO BIGINT,
|
||
-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
-- CONSTRAINT PK_TBIDB_SEARCH_PROFILE_GROUP_GUID PRIMARY KEY (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
-- --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID),
|
||
-- CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_GROUP UNIQUE(SEARCH_PROFIL_ID,GROUP_ID)
|
||
--)
|
||
--GO
|
||
|
||
|
||
----DROP TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES
|
||
--CREATE TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES
|
||
--(
|
||
-- GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
-- SEARCH_PROFIL_ID INTEGER NOT NULL,
|
||
-- ATTRIBUTE_ID INTEGER NOT NULL,
|
||
-- X_LOC FLOAT NOT NULL DEFAULT 0,
|
||
-- Y_LOC FLOAT NOT NULL DEFAULT 0,
|
||
-- [SEQUENCE] INTEGER NOT NULL DEFAULT 0,
|
||
-- HEIGHT SMALLINT NOT NULL DEFAULT 25,
|
||
-- WIDTH SMALLINT NOT NULL DEFAULT 200,
|
||
-- MULTISELECT BIT NOT NULL DEFAULT 0,
|
||
-- SOURCE_SQL BIGINT,
|
||
-- ENABLE_SQL BIGINT,
|
||
-- ENABLE_CONID SMALLINT,
|
||
-- --DEPENDING_ATTRIBUTE1 INTEGER NOT NULL DEFAULT 0,
|
||
-- ADDED_WHO BIGINT,
|
||
-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
-- CHANGED_WHO BIGINT,
|
||
-- CHANGED_WHEN DATETIME,
|
||
-- CONSTRAINT PK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_GUID PRIMARY KEY (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_SOURCE_SQL FOREIGN KEY (SOURCE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ENABLE_SQL FOREIGN KEY (ENABLE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
-- CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID)
|
||
--)
|
||
--GO
|
||
--CREATE TRIGGER TBIDB_SEARCH_PROFILE_ATTRIBUTES_AFT_UPD ON TBIDB_SEARCH_PROFILE_ATTRIBUTES
|
||
--FOR UPDATE
|
||
--AS
|
||
-- UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET CHANGED_WHEN = GETDATE()
|
||
-- FROM INSERTED
|
||
-- WHERE TBIDB_SEARCH_PROFILE_ATTRIBUTES .GUID = INSERTED.GUID
|
||
--GO
|
||
|
||
|
||
----drop table TBIDB_SEARCH_ATTRIBUTES_LINKS;
|
||
--CREATE TABLE TBIDB_SEARCH_ATTRIBUTES_LINKS
|
||
--(
|
||
-- GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
-- DEP_ATTR_ID INTEGER NOT NULL,
|
||
-- LINKED_ATTR_ID INTEGER NOT NULL,
|
||
-- ADDED_WHO BIGINT,
|
||
-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
-- CHANGED_WHO BIGINT,
|
||
-- CHANGED_WHEN DATETIME,
|
||
-- CONSTRAINT PK_TBIDB_SEARCH_ATTRIBUTES_LINKS_GUID PRIMARY KEY (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_DA_ID FOREIGN KEY (DEP_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_LA_ID FOREIGN KEY (LINKED_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
|
||
--)
|
||
--GO
|
||
----DROP TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT
|
||
--CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT
|
||
--(
|
||
-- GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
-- SEARCH_ID INTEGER NOT NULL,
|
||
-- RESTR_ATTR_ID INTEGER NOT NULL,
|
||
-- SOURCE_ATTR_ID INTEGER NOT NULL,
|
||
-- TERM VARCHAR(900) NOT NULL,
|
||
-- USR_ID INTEGER NOT NULL,
|
||
-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
|
||
-- CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_INPUT_GUID PRIMARY KEY (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
|
||
--)
|
||
--GO
|
||
--CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_OBJECTS
|
||
--(
|
||
-- GUID INTEGER NOT NULL IDENTITY (1, 1),
|
||
-- SEARCH_ID INTEGER NOT NULL,
|
||
-- RESTR_ATTR_ID INTEGER NOT NULL,
|
||
-- SOURCE_ATTR_ID INTEGER NOT NULL,
|
||
-- IDB_OBJ_ID BIGINT NOT NULL,
|
||
-- USR_ID INTEGER NOT NULL,
|
||
-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
|
||
-- CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_GUID PRIMARY KEY (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_IOBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID)
|
||
--)
|
||
--GO
|
||
|
||
--CREATE TRIGGER [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT_AFT_INS] ON [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT]
|
||
--WITH EXECUTE AS CALLER
|
||
--FOR INSERT
|
||
--AS
|
||
--BEGIN TRY
|
||
-- DECLARE
|
||
-- @SEARCH_ID INTEGER,
|
||
-- @RESTR_ATTR_ID INTEGER,
|
||
-- @SOURCE_ATTR_ID INTEGER,
|
||
-- @TERM VARCHAR(900),
|
||
-- @USR_ID INTEGER,
|
||
-- @pLANG_CODE VARCHAR(5)
|
||
|
||
-- SELECT
|
||
-- @SEARCH_ID = SEARCH_ID,
|
||
-- @RESTR_ATTR_ID = RESTR_ATTR_ID,
|
||
-- @SOURCE_ATTR_ID = SOURCE_ATTR_ID,
|
||
-- @TERM = TERM,
|
||
-- @USR_ID = USR_ID
|
||
|
||
-- FROM INSERTED
|
||
|
||
-- --DELETE FROM TBIDB_SEARCH_RESTRICTIONS_OBJECTS
|
||
-- --WHERE
|
||
-- -- SEARCH_ID = @SEARCH_ID AND
|
||
-- -- RESTR_ATTR_ID = @RESTR_ATTR_ID AND
|
||
-- -- SOURCE_ATTR_ID = @SOURCE_ATTR_ID AND
|
||
-- -- USR_ID = @USR_ID;
|
||
|
||
-- SELECT @pLANG_CODE = [LANGUAGE] FROM @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID = @USR_ID
|
||
-- INSERT INTO TBIDB_SEARCH_RESTRICTIONS_OBJECTS (SEARCH_ID,RESTR_ATTR_ID, SOURCE_ATTR_ID, IDB_OBJ_ID, USR_ID)
|
||
-- SELECT @SEARCH_ID,@RESTR_ATTR_ID, @SOURCE_ATTR_ID,T.IDB_OBJECT_ID,@USR_ID
|
||
-- FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@SOURCE_ATTR_ID,@pLANG_CODE,@USR_ID) T LEFT JOIN TBIDB_SEARCH_RESTRICTIONS_OBJECTS T1
|
||
-- ON T.IDB_OBJECT_ID = T1.IDB_OBJ_ID
|
||
-- where T.TERM_VALUE = @TERM AND T1.IDB_OBJ_ID IS NULL
|
||
-- --where TERM_VALUE = @TERM
|
||
|
||
--END TRY
|
||
--BEGIN CATCH
|
||
-- PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
||
-- + ' - ERROR-MESSAGE: '
|
||
-- + CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
--END CATCH
|
||
--GO
|
||
CREATE TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA](
|
||
[GUID] [bigint] NOT NULL,
|
||
[LANG_TERM_ID] [bigint] NOT NULL,
|
||
[ADDED_WHO] [bigint] NOT NULL,
|
||
[ADDED_WHEN] [datetime] NOT NULL,
|
||
[CHANGED_WHO] [bigint] NULL,
|
||
[CHANGED_WHEN] [datetime] NULL,
|
||
CONSTRAINT [PKTBIDB_LANGUAGE_TERM_METADATA] PRIMARY KEY CLUSTERED
|
||
(
|
||
[GUID] ASC,
|
||
[LANG_TERM_ID] ASC
|
||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||
) ON [PRIMARY]
|
||
GO
|
||
|
||
ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] ADD DEFAULT (getdate()) FOR [ADDED_WHEN]
|
||
GO
|
||
|
||
ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] WITH CHECK ADD CONSTRAINT [FK_TBIDB_LTMD_ADDED_WHO_T_ID] FOREIGN KEY([ADDED_WHO])
|
||
REFERENCES [dbo].[TBIDB_TERM_VALUE_VARCHAR] ([GUID])
|
||
GO
|
||
|
||
ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_ADDED_WHO_T_ID]
|
||
GO
|
||
|
||
ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] WITH CHECK ADD CONSTRAINT [FK_TBIDB_LTMD_CHANGED_WHO_T_ID] FOREIGN KEY([CHANGED_WHO])
|
||
REFERENCES [dbo].[TBIDB_TERM_VALUE_VARCHAR] ([GUID])
|
||
GO
|
||
|
||
ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_CHANGED_WHO_T_ID]
|
||
GO
|
||
|
||
ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] WITH CHECK ADD CONSTRAINT [FK_TBIDB_LTMD_LANG_TERM_ID] FOREIGN KEY([LANG_TERM_ID])
|
||
REFERENCES [dbo].[TBIDB_TERM_LANGUAGE] ([GUID])
|
||
GO
|
||
|
||
ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_LANG_TERM_ID]
|
||
GO
|
||
|
||
|
||
CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID1]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[TEXT_TERM_LANG_ID],[ADDED_WHO],[ADDED_WHEN])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [TBIDB_LANGUAGE_TERM_METADATA_LANG_TERM_ID]
|
||
ON [dbo].[TBIDB_LANGUAGE_TERM_METADATA] ([LANG_TERM_ID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA2]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID],[ADDED_WHO],[ADDED_WHEN])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_TEXT_TERM_LANG_ID]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[TEXT_TERM_LANG_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA3]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID],[ADDED_WHO],[ADDED_WHEN])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_[FLOAT_TERM_ID]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[FLOAT_TERM_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX IDX_GUID_TEXTTEM_ID
|
||
ON [dbo].[TBIDB_TERM_LANGUAGE] ([LANGUAGE_ID])
|
||
INCLUDE ([GUID],[TEXT_TERM_ID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN
|
||
ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN])
|
||
INCLUDE ([GUID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IDBOBJID
|
||
ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID])
|
||
INCLUDE ([CHANGED_WHEN])
|
||
GO
|
||
|
||
CREATE TABLE TBIDB_CONVERSATION_MESSAGE
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
CONV_ID BIGINT NOT NULL,
|
||
TO_USER BIGINT NOT NULL DEFAULT 0,
|
||
FROM_USER BIGINT NOT NULL,
|
||
MESSAGE_TERM_ID BIGINT NOT NULL,
|
||
ADDED_WHO BIGINT,
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
CONSTRAINT PK_TBIDB_CONVERSATION_MESSAGE PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
|
||
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_FROM_USER FOREIGN KEY (FROM_USER) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_TERM_ID FOREIGN KEY (MESSAGE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
|
||
CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
|
||
GO
|
||
--CREATE TABLE TBIDB_USER_SEARCH_CRITERIA
|
||
--(
|
||
-- GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
-- SEARCH_PROFIL_ID INTEGER NOT NULL,
|
||
-- USERID INTEGER NOT NULL,
|
||
-- ATTRIBUTE_ID INTEGER NOT NULL,
|
||
-- TERM_TEXT VARCHAR(900),
|
||
-- --TERM_DATE DATE,
|
||
-- --TERM_FLOAT FLOAT,
|
||
-- --TERM_DEC DECIMAL(19,2),
|
||
-- TERM_ID BIGINT,
|
||
-- ADDED_WHO BIGINT,
|
||
-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
-- CONSTRAINT PK_TBIDB_USER_SEARCH_CRITERIA_GUID PRIMARY KEY (GUID),
|
||
-- CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
|
||
-- CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
|
||
--)
|
||
--GO
|
||
|
||
|
||
|
||
--CREATE TABLE TBIDB_SEARCH_CRITERIA_SAVE
|
||
--(
|
||
-- GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
-- SEARCH_PROFIL_ID INTEGER NOT NULL,
|
||
-- ATTRIBUTE_ID INTEGER NOT NULL,
|
||
-- TERM_TEXT VARCHAR(900),
|
||
-- --TERM_DATE DATE,
|
||
-- --TERM_FLOAT FLOAT,
|
||
-- --TERM_DEC DECIMAL(19,2),
|
||
-- TERM_ID BIGINT,
|
||
-- ADDED_WHO BIGINT,
|
||
-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
|
||
-- CONSTRAINT PK_TBIDB_SEARCH_CRITERIA_SAVE_GUID PRIMARY KEY (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
|
||
-- CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
|
||
--)
|
||
--GO
|
||
CREATE TABLE TBIDB_ACCESSRIGHT
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
USR_ID INTEGER NOT NULL DEFAULT 0,
|
||
GRP_ID INTEGER NOT NULL DEFAULT 0,
|
||
ACCESSRIGHT INTEGER NOT NULL,
|
||
COMMENT VARCHAR(250),
|
||
ADDED_WHO BIGINT NOT NULL,
|
||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||
CONSTRAINT PK_TBIDB_ACCESSRIGHT_GUID PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBIDB_ACCESSRIGHT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FK_TBIDB_ACCESSRIGHT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT UQ_TBIDB_ACCESSRIGHT UNIQUE(IDB_OBJ_ID,USR_ID,GRP_ID,ACCESSRIGHT)
|
||
)
|
||
GO
|
||
CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_USRID
|
||
ON [dbo].[TBIDB_ACCESSRIGHT] ([USR_ID])
|
||
INCLUDE ([IDB_OBJ_ID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_GRPID
|
||
ON [dbo].[TBIDB_ACCESSRIGHT] ([GRP_ID])
|
||
INCLUDE ([IDB_OBJ_ID])
|
||
GO
|
||
CREATE TABLE TBIDB_REFRESH_ON_APPSERVER
|
||
(
|
||
GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
USR_ID INTEGER NOT NULL,
|
||
ACCESSRIGHT INTEGER NOT NULL,
|
||
ADDED_WHO BIGINT NOT NULL,
|
||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||
CONSTRAINT PKTBIDB_REFRESH_ON_APPSERVER_GUID PRIMARY KEY (GUID),
|
||
CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT UQ_TBIDB_REFRESH_ON_APPSERVER UNIQUE(IDB_OBJ_ID,USR_ID)
|
||
)
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [IDX_ATTR-ID_OBJ-INTTERMID]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX IDXATTR_IDINT_TERM_ID_IDB_OBJ_ID
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[INT_TERM_ID])
|
||
INCLUDE ([IDB_OBJ_ID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX IDX_DELETED_OBJID
|
||
ON [dbo].[TBIDB_OBJECT] ([DELETED])
|
||
INCLUDE ([IDB_OBJ_ID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [IDXATTR_ID-IDB_OBJ_ID-FLOAT_TERM_ID]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [ATTR_ID_IDB_OBJ_ID_DEC_TERM_ID]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [ATTR_ID-IDB_OBJ_ID-DATE_TERM_ID]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[DATE_TERM_ID])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [IDXATTR_ID-DATE_TERM_ID-IDB_OBJ_ID]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DATE_TERM_ID])
|
||
INCLUDE ([IDB_OBJ_ID])
|
||
GO
|
||
--CREATE TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES
|
||
--(
|
||
-- GUID BIGINT NOT NULL IDENTITY (1, 1),
|
||
-- ATTRIBUTE_ID INTEGER NOT NULL,
|
||
-- ACTIVE BIT NOT NULL DEFAULT 1,
|
||
-- ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data (DEF)',
|
||
-- ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||
-- CHANGED_WHO VARCHAR(100),
|
||
-- CHANGED_WHEN DATETIME,
|
||
-- CONSTRAINT PKTBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES_GUID PRIMARY KEY (GUID),
|
||
-- CONSTRAINT UQ_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES UNIQUE(ATTRIBUTE_ID),
|
||
-- CONSTRAINT FK_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES FOREIGN KEY (ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
|
||
--)
|
||
--GO
|
||
--INSERT INTO TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES (ATTRIBUTE_ID) VALUES(1);
|
||
--ALTER TABLE [TBIDB_FILE_OBJECT]
|
||
--ADD [FILE_HASH] VARCHAR(500) NOT NULL
|
||
--GO
|
||
|
||
CREATE TABLE TBIDB_FILE_OBJECT
|
||
(
|
||
IDB_OBJ_ID BIGINT NOT NULL,
|
||
OBJ_ST_ID INTEGER NOT NULL,
|
||
EXTENSION_TERM_ID BIGINT NOT NULL,
|
||
RELPATH_TERM_ID BIGINT NOT NULL,
|
||
FILENAME_TERM_ID BIGINT NOT NULL,
|
||
FILE_SIZE BIGINT,
|
||
FILE_HASH VARCHAR(500) NOT NULL,
|
||
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
|
||
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(30),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBIDB_FILE_OBJECT PRIMARY KEY (IDB_OBJ_ID),
|
||
CONSTRAINT FK_TBIDB_FILE_OBJECT_OBJSTID FOREIGN KEY (OBJ_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID),
|
||
CONSTRAINT FK_TBIDB_FILE_OBJECT_IDBOBJID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
|
||
CONSTRAINT FK_TBIDB_FILE_OBJECT_EXTTID FOREIGN KEY (EXTENSION_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_FILE_OBJECT_RPTID FOREIGN KEY (RELPATH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
|
||
CONSTRAINT FK_TBIDB_FILE_OBJECT_FNTID FOREIGN KEY (FILENAME_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBIDB_FILE_OBJECT_AFT_UPD ON TBIDB_FILE_OBJECT
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBIDB_FILE_OBJECT SET CHANGED_WHEN = GETDATE()
|
||
FROM INSERTED
|
||
WHERE TBIDB_FILE_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
|
||
GO
|
||
|
||
|
||
CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IN_GUID
|
||
ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN])
|
||
INCLUDE ([GUID])
|
||
GO
|
||
|
||
|
||
CREATE NONCLUSTERED INDEX IDX_IDBOBJID_CW
|
||
ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID])
|
||
INCLUDE ([CHANGED_WHEN])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA4]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID],[ADDED_WHO],[ADDED_WHEN])
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA5]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DEC_TERM_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN])
|
||
GO
|
||
/*###########################
|
||
######### FUNCTIONS #########
|
||
#############################*/
|
||
CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_ROWID] (@DocID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10), @DocID_ISFOREIGN as BIT = False)
|
||
RETURNS @Output TABLE (ID INT IDENTITY(1, 1),TERM_VALUE VARCHAR(900))
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@ATTR_ID INTEGER,
|
||
@TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@LANG_ID INT,
|
||
@TERM_RESULT VARCHAR(900)
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
|
||
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
|
||
WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE)
|
||
|
||
IF @DocID_ISFOREIGN = 1
|
||
SELECT @DocID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @DocID
|
||
|
||
IF @TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN
|
||
DECLARE @TL_ID BIGINT
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM
|
||
TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
|
||
INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
|
||
WHERE MD.ATTR_ID = @ATTR_ID
|
||
AND TLANG.LANGUAGE_ID = @LANG_ID
|
||
AND MD.IDB_OBJ_ID = @DocID
|
||
END
|
||
ELSE IF @TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
|
||
END
|
||
ELSE IF @TYP_ID = 3 --FLOAT
|
||
BEGIN
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
|
||
END
|
||
ELSE IF @TYP_ID = 4
|
||
BEGIN
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
|
||
END
|
||
ELSE IF @TYP_ID = 5
|
||
BEGIN
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
|
||
END
|
||
RETURN
|
||
END
|
||
GO
|
||
|
||
|
||
CREATE FUNCTION [dbo].[FNGetFileName]
|
||
(
|
||
@Path NVARCHAR(MAX)
|
||
)
|
||
RETURNS NVARCHAR(MAX)
|
||
AS
|
||
BEGIN
|
||
DECLARE @FileName NVARCHAR(MAX)
|
||
DECLARE @ReversedPath NVARCHAR(MAX)
|
||
|
||
SET @ReversedPath = REVERSE(@Path)
|
||
SELECT @FileName = RIGHT(@Path, CHARINDEX('\', @ReversedPath)-1)
|
||
|
||
RETURN @FileName
|
||
END
|
||
GO
|
||
|
||
|
||
CREATE FUNCTION [dbo].[FNGetFileNameWithoutExtension]
|
||
(
|
||
@Path NVARCHAR(MAX)
|
||
)
|
||
RETURNS NVARCHAR(MAX)
|
||
AS
|
||
BEGIN
|
||
DECLARE @FileName NVARCHAR(MAX)
|
||
DECLARE @ReversedPath NVARCHAR(MAX)
|
||
DECLARE @ExtLength INT
|
||
|
||
SET @ReversedPath = REVERSE(@Path)
|
||
SELECT @ExtLength = CHARINDEX('.', @ReversedPath)
|
||
SELECT @FileName = RIGHT(@Path, CHARINDEX('\', @ReversedPath)-1)
|
||
SELECT @FileName = LEFT(@FileName, LEN(@FileName) - @ExtLength)
|
||
RETURN @FileName
|
||
END
|
||
GO
|
||
|
||
CREATE FUNCTION [dbo].[FNGetDirectoryPath]
|
||
(
|
||
@Path NVARCHAR(MAX)
|
||
)
|
||
RETURNS NVARCHAR(MAX)
|
||
AS
|
||
BEGIN
|
||
DECLARE @FileName NVARCHAR(MAX)
|
||
DECLARE @ReversedPath NVARCHAR(MAX)
|
||
DECLARE @PathLength INT
|
||
|
||
SET @ReversedPath = REVERSE(@Path)
|
||
SELECT @PathLength = CHARINDEX('\', @ReversedPath)
|
||
SELECT @FileName = LEFT(@Path, LEN(@Path) - @PathLength)
|
||
RETURN @FileName
|
||
END
|
||
GO
|
||
|
||
CREATE FUNCTION [dbo].[FNGetExtension]
|
||
(
|
||
@Path NVARCHAR(MAX)
|
||
)
|
||
RETURNS NVARCHAR(MAX)
|
||
AS
|
||
BEGIN
|
||
DECLARE @FileName NVARCHAR(MAX)
|
||
DECLARE @ReversedPath NVARCHAR(MAX)
|
||
DECLARE @ExtLength INT
|
||
|
||
SET @ReversedPath = REVERSE(@Path)
|
||
SET @FileName = ''
|
||
SELECT @ExtLength = CHARINDEX('.', @ReversedPath)
|
||
IF (@ExtLength > 0)
|
||
BEGIN
|
||
SELECT @FileName = RIGHT(@Path, @ExtLength - 1)
|
||
END
|
||
RETURN @FileName
|
||
END
|
||
GO
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
|
||
RETURNS VARCHAR(900)
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
|
||
SELECT @TERM_ID = T1.TEXT_TERM_ID FROM TBIDB_OBJECT_METADATA T, TBIDB_TERM_LANGUAGE T1 WHERE
|
||
T.TEXT_TERM_LANG_ID = T1.GUID AND
|
||
T.IDB_OBJ_ID = @IDB_OBJ_ID and T.ATTR_ID = @ATTR_ID
|
||
SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (@TERM_ID BIGINT)
|
||
RETURNS VARCHAR(900)
|
||
AS
|
||
BEGIN
|
||
DECLARE @RESULT VARCHAR(900)
|
||
|
||
SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
----------------------------------------------------
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_TEXT_VECTOR] (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
|
||
RETURNS VARCHAR(5000)
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT_SING VARCHAR(900), @RESULT VARCHAR(5000)
|
||
SEt @RESULT = ''
|
||
DECLARE c_REDO CURSOR FOR
|
||
SELECT T1.TEXT_TERM_ID FROM TBIDB_OBJECT_METADATA T, TBIDB_TERM_LANGUAGE T1 WHERE
|
||
T.TEXT_TERM_LANG_ID = T1.GUID AND
|
||
T.IDB_OBJ_ID = @IDB_OBJ_ID and T.ATTR_ID = @ATTR_ID
|
||
OPEN c_REDO
|
||
FETCH NEXT FROM c_REDO INTO @TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
SELECT @RESULT_SING = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
|
||
IF @RESULT = ''
|
||
SET @RESULT = @RESULT_SING
|
||
ELSE
|
||
SET @RESULT += '; ' + @RESULT_SING
|
||
FETCH NEXT FROM c_REDO INTO @TERM_ID
|
||
END
|
||
CLOSE c_REDO
|
||
DEALLOCATE c_REDO
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
CREATE FUNCTION FNIDB_GET_TERM_INTEGER_VECTOR (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
|
||
RETURNS VARCHAR(5000)
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT_SING VARCHAR(900), @RESULT VARCHAR(5000)
|
||
SEt @RESULT = ''
|
||
DECLARE c_REDO CURSOR FOR
|
||
SELECT INT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
|
||
OPEN c_REDO
|
||
FETCH NEXT FROM c_REDO INTO @TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
SELECT @RESULT_SING = TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER WHERE GUID = @TERM_ID
|
||
IF @RESULT = ''
|
||
SET @RESULT = @RESULT_SING
|
||
ELSE
|
||
SET @RESULT += '; ' + @RESULT_SING
|
||
FETCH NEXT FROM c_REDO INTO @TERM_ID
|
||
END
|
||
CLOSE c_REDO
|
||
DEALLOCATE c_REDO
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
CREATE FUNCTION FNIDB_GET_TERM_INTEGER (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
|
||
RETURNS BIGINT
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
|
||
SELECT @TERM_ID = INT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
|
||
SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER WHERE GUID = @TERM_ID
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
CREATE FUNCTION FNIDB_GET_TERM_BIT (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
|
||
RETURNS BIT
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT BIT
|
||
SELECT @TERM_ID = INT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
|
||
SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER WHERE GUID = @TERM_ID
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FLOAT] (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
|
||
RETURNS FLOAT
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT FLOAT
|
||
SELECT @TERM_ID = FLOAT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
|
||
SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_FLOAT WHERE GUID = @TERM_ID
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
CREATE FUNCTION FNIDB_GET_TERM_DATE (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
|
||
RETURNS DATE
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT DATE
|
||
SELECT @TERM_ID = DATE_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
|
||
SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_DATE WHERE GUID = @TERM_ID
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
CREATE FUNCTION FNIDB_GET_TERM_DECIMAL (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
|
||
RETURNS DECIMAL(19,0)
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT DECIMAL(19,0)
|
||
SELECT @TERM_ID = DEC_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
|
||
SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_DECIMAL WHERE GUID = @TERM_ID
|
||
RETURN @RESULT
|
||
END
|
||
|
||
GO
|
||
CREATE FUNCTION [dbo].[FNGET_WINDREAM_FILE_PATH] (@pDOCID BIGINT)
|
||
RETURNS VARCHAR(MAX)
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@RESULT VARCHAR(MAX),
|
||
@DOCID BIGINT,
|
||
@a TINYINT = 1,
|
||
@i TINYINT = 0,
|
||
@PARENT_ID BIGINT,
|
||
@DATEINAME NVARCHAR(255),
|
||
@PARENTNAME NVARCHAR(255),
|
||
@FSFLAGS INT,
|
||
@WM_PREFIX VARCHAR(50)
|
||
|
||
SET @WM_PREFIX = '\\windream\objects'
|
||
|
||
SELECT @FSFLAGS = dwFSFlags FROM [windream60].[dbo].[BaseAttributes] WHERE dwDocID = @pDOCID
|
||
IF @FSFLAGS = 16
|
||
BEGIN
|
||
SET @RESULT = 'THIS IS NOT A FILE!'
|
||
END
|
||
ELSE
|
||
BEGIN
|
||
SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].[dbo].[BaseAttributes] WHERE dwDocID = @pDOCID
|
||
WHILE @a > 0
|
||
BEGIN
|
||
IF @i = 0
|
||
BEGIN
|
||
IF @PARENT_ID = 1
|
||
BEGIN
|
||
SET @RESULT = '\'
|
||
BREAK
|
||
END
|
||
ELSE
|
||
BEGIN
|
||
SET @DOCID = @PARENT_ID
|
||
SET @RESULT = '\'
|
||
END
|
||
END
|
||
ELSE
|
||
BEGIN
|
||
IF @PARENT_ID = 1
|
||
BEGIN
|
||
SET @RESULT = '\' + @PARENTNAME + @RESULT
|
||
BREAK
|
||
END
|
||
ELSE
|
||
BEGIN
|
||
SET @DOCID = @PARENT_ID
|
||
SET @RESULT = '\' + @PARENTNAME + @RESULT
|
||
END
|
||
END
|
||
--select * from [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes
|
||
SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].[dbo].[BaseAttributes] WHERE dwDocID = @DOCID
|
||
SET @i = @i + 1
|
||
END
|
||
END
|
||
|
||
SET @RESULT = @WM_PREFIX + @RESULT + @DATEINAME
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] (@DocID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10), @DocID_ISFOREIGN as BIT = False)
|
||
RETURNS @Output TABLE (TERM_VALUE VARCHAR(900))
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@ATTR_ID INTEGER,
|
||
@TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@LANG_ID INT,
|
||
@TERM_RESULT VARCHAR(900),
|
||
@IDB_CREATED_WHEN DATETIME,
|
||
@IDB_CREATED_WHO VARCHAR(100),
|
||
@IDB_CHANGED_WHEN DATETIME,
|
||
@IDB_CHANGED_WHO VARCHAR(100)
|
||
|
||
IF @DocID_ISFOREIGN = 1
|
||
SELECT @DocID = IDB_OBJ_ID,@IDB_CREATED_WHEN = ADDED_WHEN, @IDB_CREATED_WHO = ADDED_WHO, @IDB_CHANGED_WHEN = CHANGED_WHEN, @IDB_CHANGED_WHO = CHANGED_WHO FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @DocID
|
||
ELSE
|
||
SELECT @IDB_CREATED_WHEN = ADDED_WHEN, @IDB_CREATED_WHO = ADDED_WHO, @IDB_CHANGED_WHEN = CHANGED_WHEN, @IDB_CHANGED_WHO = CHANGED_WHO FROM TBIDB_OBJECT
|
||
WHERE IDB_OBJ_ID = @DocID
|
||
|
||
|
||
IF @ATTRIBUTE like 'IDB%'
|
||
BEGIN
|
||
SELECT @IDB_CREATED_WHEN = ADDED_WHEN, @IDB_CREATED_WHO = ADDED_WHO, @IDB_CHANGED_WHEN = CHANGED_WHEN, @IDB_CHANGED_WHO = CHANGED_WHO FROM TBIDB_OBJECT
|
||
WHERE IDB_OBJ_ID = @DocID
|
||
IF @ATTRIBUTE = 'IDBCreatedWhen'
|
||
INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CREATED_WHEN)
|
||
ELSE IF @ATTRIBUTE = 'IDBCreatedWho'
|
||
INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CREATED_WHO)
|
||
ELSE IF @ATTRIBUTE = 'IDBChangedWhen'
|
||
INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CHANGED_WHEN)
|
||
ELSE IF @ATTRIBUTE = 'IDBChangedWho'
|
||
INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CHANGED_WHO)
|
||
END
|
||
ELSE
|
||
BEGIN
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
|
||
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
|
||
WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE)
|
||
IF @TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN
|
||
DECLARE @TL_ID BIGINT
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM
|
||
TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
|
||
INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
|
||
WHERE MD.ATTR_ID = @ATTR_ID
|
||
AND TLANG.LANGUAGE_ID = @LANG_ID
|
||
AND MD.IDB_OBJ_ID = @DocID
|
||
END
|
||
ELSE IF @TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
|
||
END
|
||
ELSE IF @TYP_ID = 3 --FLOAT
|
||
BEGIN
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
|
||
END
|
||
ELSE IF @TYP_ID = 4
|
||
BEGIN
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
|
||
END
|
||
ELSE IF @TYP_ID = 5
|
||
BEGIN
|
||
INSERT INTO @Output (TERM_VALUE)
|
||
SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
|
||
END
|
||
END
|
||
RETURN
|
||
END
|
||
GO
|
||
-------------------------------------------------------------------
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (@LANG_TERM_ID BIGINT)
|
||
RETURNS VARCHAR(900)
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
|
||
SELECT @RESULT = T1.TERM_VALUE FROM TBIDB_TERM_LANGUAGE T INNER JOIN TBIDB_TERM_VALUE_VARCHAR T1 ON T.TEXT_TERM_ID = T1.GUID WHERE T.GUID = @LANG_TERM_ID
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
-------------------------------------------------------------------
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (@OBJ_ID BIGINT)
|
||
RETURNS VARCHAR(900)
|
||
AS
|
||
BEGIN
|
||
DECLARE @MAX_STATE_GUID BIGINT,@STATE_ID INTEGER,@RESULT VARCHAR(900)
|
||
|
||
SELECT @STATE_ID = STATE_ID FROM TBIDB_MYOBJECT_STATES WHERE GUID = (
|
||
SELECT MAX(GUID) FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @OBJ_ID)
|
||
|
||
SELECT @RESULT = [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] ((SELECT STATE_LTERM_ID FROM TBIDB_STATES
|
||
WHERE GUID = @STATE_ID))
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
-------------------------------------------------------------------
|
||
|
||
CREATE FUNCTION [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] (@pIDB_OBJ_ID as INTEGER, @pUSERID as INTEGER)
|
||
RETURNS
|
||
@Table TABLE
|
||
(CONF_TITLE VARCHAR(900),CONF_VALUE VARCHAR(900))
|
||
AS
|
||
BEGIN
|
||
DECLARE @CONVID BIGINT
|
||
SELECT @CONVID = CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started'
|
||
IF @CONVID > 0
|
||
BEGIN
|
||
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ID',@CONVID);
|
||
END
|
||
|
||
IF EXISTS(SELECT CONV_ID FROM VWIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND USER_ID = @pUSERID)
|
||
BEGIN
|
||
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_USER_ACTIVE','True');
|
||
END
|
||
|
||
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Admin');
|
||
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Start');
|
||
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Stop');
|
||
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddMessage');
|
||
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddUser');
|
||
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('NEW_CONVERSATION_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from @MY_DD_ECM_DB.dbo.TBDD_USER');
|
||
INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM
|
||
TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)');
|
||
|
||
RETURN
|
||
END
|
||
GO
|
||
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_FILE_PATH] (@pIDB_OBJ_ID BIGINT)
|
||
RETURNS VARCHAR(500)
|
||
AS
|
||
BEGIN
|
||
DECLARE @RELPATH VARCHAR(500),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(500)
|
||
SELECT @RELPATH = [CAT_STRING] FROM [TBIDB_CATALOG] where CAT_TITLE = 'FILESTORE_PRAEFIX'
|
||
SELECT @NAVPATH = RELATIVE_PATH FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @pIDB_OBJ_ID
|
||
|
||
RETURN @NAVPATH
|
||
END
|
||
GO
|
||
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (@pTERMGUID BIGINT)
|
||
RETURNS VARCHAR(900)
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
|
||
SELECT @RESULT = T.TERM_VALUE
|
||
FROM TBIDB_TERM_VALUE_VARCHAR T WHERE T.GUID = @pTERMGUID
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
|
||
-- =============================================
|
||
-- Author: DD MS
|
||
-- Craeation date: 17.08.2020 MS [TBIDB_LANGUAGE_TERM_METADATA]
|
||
-- =============================================
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (@pTBIDB_LANGUAGE_TERM_METADATA_GUID BIGINT,@pLANG_CODE VARCHAR(5) = 'de-DE')
|
||
RETURNS VARCHAR(900)
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900),@LANG_ID INTEGER
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
|
||
SELECT @RESULT = T3.TERM_VALUE -- @TERM_ID = T1.TEXT_TERM_ID
|
||
FROM TBIDB_LANGUAGE_TERM_METADATA T2
|
||
INNER JOIN TBIDB_TERM_LANGUAGE T1 ON T2.LANG_TERM_ID = T1.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T1.TEXT_TERM_ID = T3.GUID
|
||
WHERE
|
||
T2.GUID = @pTBIDB_LANGUAGE_TERM_METADATA_GUID
|
||
AND T1.LANGUAGE_ID = @LANG_ID
|
||
--SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
|
||
RETURN @RESULT
|
||
END
|
||
GO
|
||
-- =============================================
|
||
-- Author: DD MS
|
||
-- Creation date: 17.08.2020
|
||
-- =============================================
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@pATTRIBUTE_ID INTEGER,@pLANG_CODE VARCHAR(10), @pUSERID INTEGER)
|
||
RETURNS @Output TABLE (IDB_OBJECT_ID BIGINT, TERM_VALUE VARCHAR(900),TERM_ID BIGINT,IDB_CREATED_WHEN DATETIME,IDB_CREATED_WHO VARCHAR(100))
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@LANG_ID INT,
|
||
@TERM_RESULT VARCHAR(900),
|
||
@CREATED_WHEN DATETIME,
|
||
@CREATED_WHO VARCHAR(100)
|
||
|
||
|
||
BEGIN
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
|
||
SELECT @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
|
||
WHERE T.TYP_ID = T1.GUID AND T.GUID = @pATTRIBUTE_ID
|
||
IF @TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN
|
||
DECLARE @TL_ID BIGINT
|
||
INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
|
||
SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
|
||
FROM
|
||
TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
|
||
INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
|
||
INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
|
||
WHERE MD.ATTR_ID = @pATTRIBUTE_ID
|
||
AND TLANG.LANGUAGE_ID = @LANG_ID
|
||
END
|
||
ELSE IF @TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN
|
||
INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
|
||
SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
|
||
FROM
|
||
TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @pATTRIBUTE_ID
|
||
END
|
||
ELSE IF @TYP_ID = 3 --FLOAT
|
||
BEGIN
|
||
INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
|
||
SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
|
||
FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @pATTRIBUTE_ID
|
||
END
|
||
ELSE IF @TYP_ID = 4
|
||
BEGIN
|
||
INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
|
||
SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE, TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
|
||
FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @pATTRIBUTE_ID
|
||
END
|
||
ELSE IF @TYP_ID = 5
|
||
BEGIN
|
||
INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
|
||
SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
|
||
FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID
|
||
AND MD.ATTR_ID = @pATTRIBUTE_ID
|
||
END
|
||
END
|
||
RETURN
|
||
END
|
||
GO
|
||
|
||
--CREATE FUNCTION [dbo].[FNIDB_SEARCH_GET_FILTER_SQL] (@pSEARCH_ID INTEGER, @pUSERID INTEGER, @pLANG_CODE VARCHAR(5))
|
||
--RETURNS NVARCHAR(MAX)
|
||
--AS
|
||
--BEGIN
|
||
-- DECLARE @ATTR_ID INTEGER, @ATTR_TITLE AS VARCHAR(100), @RUN TINYINT, @RESULT NVARCHAR(MAX), @RUN_ALIAS VARCHAR(2), @RUN_SELECT VARCHAR(500)
|
||
-- ,@RUN_FROM VARCHAR(500), @SELECT_PART NVARCHAR(MAX), @FROM_PART NVARCHAR(MAX),@SEPARATOR VARCHAR(1)
|
||
-- SET @RUN = 0
|
||
-- SET @RUN_ALIAS = 'T'
|
||
-- SET @SELECT_PART = 'SELECT '
|
||
-- SET @FROM_PART = ''
|
||
-- DECLARE cursAttribute CURSOR LOCAL FOR
|
||
-- SELECT ATTRIBUTE_ID,ATTRIBUTE_TITLE
|
||
-- FROM VWIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_ID ORDER BY SEQUENCE
|
||
-- OPEN cursAttribute
|
||
-- FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE
|
||
-- WHILE @@FETCH_STATUS = 0
|
||
-- BEGIN
|
||
-- SET @RUN_SELECT = ''
|
||
-- SET @RUN_FROM = ''
|
||
-- IF @RUN = 0
|
||
-- BEGIN
|
||
-- SET @RUN_SELECT = 'T.IDB_OBJECT_ID, T.TERM_VALUE AS [' + @ATTR_TITLE + ']'
|
||
-- SET @RUN_FROM = CHAR(10) + 'FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') T'
|
||
-- END
|
||
-- ELSE
|
||
-- BEGIN
|
||
-- SET @RUN_SELECT = ', ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN) + '.TERM_VALUE AS [' + @ATTR_TITLE + ']'
|
||
-- SET @RUN_FROM = CHAR(10) + 'INNER JOIN [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN)
|
||
-- SET @RUN_FROM += ' ON T.IDB_OBJECT_ID = T' + CONVERT(VARCHAR(2), @RUN) + '.IDB_OBJECT_ID'
|
||
-- END
|
||
-- SET @SELECT_PART += @RUN_SELECT
|
||
-- SET @FROM_PART += @RUN_FROM
|
||
|
||
-- SET @RUN += 1
|
||
-- FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE
|
||
-- END
|
||
-- CLOSE cursAttribute
|
||
-- DEALLOCATE cursAttribute
|
||
-- SET @RESULT = @SELECT_PART + @FROM_PART
|
||
|
||
|
||
-- RETURN @RESULT
|
||
--END
|
||
--GO
|
||
-- =======================================================
|
||
-- Author: Digital Data, DD MS
|
||
-- Create Date: 22.10.2020
|
||
-- Gunction returns all values for parameterized Attribute
|
||
-- =======================================================
|
||
CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_FOR_ALL_OBJECTS] (@ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10))
|
||
RETURNS @Output TABLE (IDB_OBJ_ID BIGINT,TERM_VALUE VARCHAR(900))
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@ATTR_ID INTEGER,
|
||
@TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@LANG_ID INT,
|
||
@TERM_RESULT VARCHAR(900)
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
|
||
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
|
||
WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE)
|
||
|
||
IF @TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN
|
||
DECLARE @TL_ID BIGINT
|
||
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
|
||
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE FROM
|
||
TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
|
||
INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
|
||
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
MD.ATTR_ID = @ATTR_ID
|
||
AND TLANG.LANGUAGE_ID = @LANG_ID
|
||
AND OBJ.DELETED = 0
|
||
ORDER BY OBJ.IDB_OBJ_ID DESC
|
||
END
|
||
ELSE IF @TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN
|
||
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
|
||
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
|
||
FROM
|
||
TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID
|
||
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
MD.ATTR_ID = @ATTR_ID
|
||
AND OBJ.DELETED = 0
|
||
ORDER BY OBJ.IDB_OBJ_ID DESC
|
||
END
|
||
ELSE IF @TYP_ID = 3 --FLOAT
|
||
BEGIN
|
||
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
|
||
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
|
||
FROM
|
||
TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.FLOAT_TERM_ID = TERM.GUID
|
||
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
MD.ATTR_ID = @ATTR_ID
|
||
AND OBJ.DELETED = 0 ORDER BY OBJ.IDB_OBJ_ID DESC
|
||
END
|
||
ELSE IF @TYP_ID = 4
|
||
BEGIN
|
||
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
|
||
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
|
||
FROM
|
||
TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DEC_TERM_ID = TERM.GUID
|
||
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
MD.ATTR_ID = @ATTR_ID
|
||
AND OBJ.DELETED = 0
|
||
ORDER BY OBJ.IDB_OBJ_ID DESC
|
||
END
|
||
ELSE IF @TYP_ID = 5
|
||
BEGIN
|
||
INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
|
||
SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
|
||
FROM
|
||
TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DATE_TERM_ID = TERM.GUID
|
||
INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
MD.ATTR_ID = @ATTR_ID AND OBJ.DELETED = 0
|
||
ORDER BY OBJ.IDB_OBJ_ID DESC
|
||
END
|
||
RETURN
|
||
END
|
||
GO
|
||
--=============================================
|
||
--Author: Digital Data MS
|
||
--Creation date: 22.10.2020
|
||
--=============================================
|
||
CREATE FUNCTION [dbo].[FNIDB_GET_SEARCH_PROFILES] (@pUSERID INT, @pLANGCODE VARCHAR(5))
|
||
RETURNS @Output TABLE (SEARCH_PROFILE_ID INTEGER,TITLE VARCHAR(100),RESULT_SQL VARCHAR(915),PSOURCE VARCHAR(50))
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@ATTR_ID INTEGER,
|
||
@TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@LANG_ID INT,
|
||
@TERM_RESULT VARCHAR(900),
|
||
@IDB_CREATED_WHEN DATETIME,
|
||
@IDB_CREATED_WHO VARCHAR(100),
|
||
@IDB_CHANGED_WHEN DATETIME,
|
||
@IDB_CHANGED_WHO VARCHAR(100)
|
||
|
||
INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE)
|
||
SELECT
|
||
T.GUID
|
||
,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (T.TITLE_ID,@pLANGCODE) AS TITLE
|
||
,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T2.SEARCH_TERM_ID) AS RESULT_SQL
|
||
,'TBIDB_SEARCH_PROFILE_USER'
|
||
FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_USER_GROUP T1 ON T.GUID = T1.SEARCH_PROFIL_ID
|
||
INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T2 ON T.GUID = T2.SEARCH_PROFIL_ID
|
||
INNER JOIN TBIDB_LANGUAGE T3 ON T2.LANGUAGE_ID = T3.GUID
|
||
WHERE T1.USER_ID = @pUSERID AND UPPER(T3.LANG_CODE) = UPPER(@pLANGCODE)
|
||
|
||
INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE)
|
||
SELECT
|
||
T.GUID
|
||
,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (T.TITLE_ID,@pLANGCODE) AS TITLE
|
||
,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T4.SEARCH_TERM_ID) AS RESULT_SQL
|
||
,'TBIDB_SEARCH_PROFILE_GROUP'
|
||
FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_USER_GROUP T1 ON T.GUID = T1.SEARCH_PROFIL_ID
|
||
INNER JOIN DD_ECM.dbo.TBDD_GROUPS T2 ON T1.GROUP_ID = T2.GUID
|
||
INNER JOIN DD_ECM.dbo.TBDD_GROUPS_USER T3 ON T2.GUID = T3.GROUP_ID
|
||
INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T4 ON T.GUID = T4.SEARCH_PROFIL_ID
|
||
INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T3.GUID
|
||
WHERE T3.USER_ID = @pUSERID AND UPPER(T5.LANG_CODE) = UPPER(@pLANGCODE)
|
||
RETURN
|
||
END
|
||
GO
|
||
--CREATE FUNCTION [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@pUSERID INT,@PSEARCHID INT)
|
||
----DECLARE @pUSERID INT,@PSEARCHID INT
|
||
----SET @pUSERID =1
|
||
----SET @PSEARCHID = 7
|
||
--RETURNS @TBRESULT TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200))
|
||
--AS
|
||
--BEGIN
|
||
-- DECLARE
|
||
-- @GUID BIGINT,@ATTR_ID INT,@LASTATTR_ID INT ,@ATTR_TITLE VARCHAR(100),@RUN TINYINT,@COUNT_ATTRIBUTES TINYINT
|
||
-- ,@RESTRICTIONSYN BIT
|
||
|
||
-- SET @LASTATTR_ID = 0
|
||
-- DECLARE @TBRESULT_RESTRICTION TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200))
|
||
-- select @COUNT_ATTRIBUTES = COUNT(T.USERID)
|
||
-- from
|
||
-- VWIDB_SEARCH_ATTRIBUTES_USER T
|
||
-- WHERE
|
||
-- T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID
|
||
|
||
-- SET @RUN = 1
|
||
-- DECLARE cursorSearchAttributes CURSOR FOR
|
||
-- select
|
||
-- T.ATTRIBUTE_ID,T.TITLE
|
||
-- from
|
||
-- VWIDB_SEARCH_ATTRIBUTES_USER T
|
||
-- WHERE
|
||
-- T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID
|
||
|
||
-- ORDER BY T.SEQUENCE
|
||
-- OPEN cursorSearchAttributes
|
||
-- FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE
|
||
-- WHILE @@FETCH_STATUS = 0
|
||
-- BEGIN
|
||
-- DECLARE @SEARCH_DEF_ID BIGINT, @TERM_ID BIGINT
|
||
-- DECLARE cursorDetailAttribute CURSOR FOR
|
||
-- select
|
||
-- T.GUID,T.TERM_ID
|
||
-- from
|
||
-- TBIDB_USER_SEARCH_CRITERIA T
|
||
-- WHERE
|
||
-- T.SEARCH_PROFIL_ID = 7 AND T.USERID = 1 AND T.ATTRIBUTE_ID = @ATTR_ID
|
||
-- OPEN cursorDetailAttribute
|
||
-- FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID
|
||
-- WHILE @@FETCH_STATUS = 0
|
||
-- BEGIN
|
||
-- INSERT INTO @TBRESULT_RESTRICTION ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE)
|
||
-- SELECT @SEARCH_DEF_ID, IDB_OBJECT_ID, @ATTR_ID, @ATTR_TITLE
|
||
-- FROM
|
||
-- FNIDB_GET_TERM_FOR_ATTRIBUTE_ID (@ATTR_ID,'de-DE',@pUSERID)
|
||
-- WHERE
|
||
-- TERM_ID = @TERM_ID
|
||
-- --SELECT * FROM @TBRESULT_RESTRICTION
|
||
-- FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID
|
||
-- END
|
||
-- CLOSE cursorDetailAttribute
|
||
-- DEALLOCATE cursorDetailAttribute
|
||
-- --PRINT 'FIRST SEARCH ROW'
|
||
-- --PRINT @TBRESULT_RESTRICTION
|
||
-- --PRINT '@COUNT_ATTRIBUTES: ' + CONVERT(VARCHAR(2),@COUNT_ATTRIBUTES)
|
||
-- --PRINT '@RUN: ' + CONVERT(VARCHAR(2),@RUN)
|
||
-- IF @RUN = 1
|
||
-- INSERT INTO @TBRESULT ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE, COMMENT)
|
||
-- SELECT * FROM @TBRESULT_RESTRICTION
|
||
-- ELSE
|
||
-- IF @COUNT_ATTRIBUTES = @RUN
|
||
-- BEGIN
|
||
-- -- --#### Now deleting the Results which are not part of the restriction
|
||
-- --PRINT 'DELETE AS THIS IS THE LAST RUN PER ATTRIBUTE'
|
||
-- DELETE FROM @TBRESULT WHERE IDB_OBJ_ID NOT IN (
|
||
-- SELECT IDB_OBJ_ID FROM @TBRESULT_RESTRICTION)
|
||
-- -- UPDATE T
|
||
-- -- SET
|
||
-- -- T.RUN = T1.RUN
|
||
-- -- FROM
|
||
-- -- @TBRESULT T INNER JOIN
|
||
-- -- @TBRESULT_RESTRICTION T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID
|
||
-- END
|
||
-- SET @RUN +=1
|
||
-- SET @LASTATTR_ID = @ATTR_ID
|
||
-- DELETE FROM @TBRESULT_RESTRICTION
|
||
-- FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE
|
||
-- END
|
||
-- CLOSE cursorSearchAttributes
|
||
-- DEALLOCATE cursorSearchAttributes
|
||
--RETURN
|
||
----select DISTINCT IDB_OBJ_ID from @TBRESULT ORDER BY IDB_OBJ_ID
|
||
--END
|
||
--GO
|
||
/*#########################################
|
||
############## VIEWS ######################
|
||
###########################################*/
|
||
CREATE VIEW VWIDB_OBJECT_STORE
|
||
AS
|
||
SELECT
|
||
A.GUID,
|
||
A.OBJECT_TITLE AS Objectstore,
|
||
A.IS_ARCHIVE Archive
|
||
,B.CAT_STRING As REL_PATH
|
||
,A.ADDED_WHEN
|
||
,A.ADDED_WHO
|
||
,A.CHANGED_WHO
|
||
,A.CHANGED_WHEN
|
||
FROM
|
||
TBIDB_OBJECT_STORE A INNER JOIN TBIDB_CATALOG B ON A.CAT_ID = B.GUID
|
||
GO
|
||
CREATE VIEW [dbo].[VWIDB_VALUE_CHANGE_LOG] AS
|
||
select
|
||
T.GUID AS ChangeID,
|
||
T1.GUID AS AttributID,
|
||
T.IDB_OBJ_ID, T1.TITLE as Attribut,
|
||
T3.TERM_VALUE as [CREATE Wert],
|
||
T5.TERM_VALUE as [Neuer Wert],
|
||
T.CHANGED_WHO [Ge<EFBFBD>ndert wer],
|
||
T.CHANGED_WHEN [Ge<EFBFBD>ndert wann]
|
||
from TBIDB_OBJECT_METADATA_CHANGE T
|
||
INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
|
||
INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID
|
||
GO
|
||
CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_BIT] AS
|
||
SELECT
|
||
T.GUID AS MetadataID,
|
||
T.ATTR_ID AS AttributID,
|
||
T.IDB_OBJ_ID,
|
||
T1.TITLE as Attribut,
|
||
(SELECT [dbo].[FNIDB_GET_TERM_BIT] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
|
||
T.ADDED_WHO,
|
||
T.ADDED_WHEN,
|
||
T.CHANGED_WHO,
|
||
T.CHANGED_WHEN
|
||
FROM
|
||
TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
|
||
WHERE
|
||
T2.NAME_TYPE = 'BIT'
|
||
GO
|
||
|
||
CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_DATE] AS
|
||
SELECT
|
||
T.GUID AS MetadataID,
|
||
T.ATTR_ID AS AttributID,
|
||
T.IDB_OBJ_ID,
|
||
T1.TITLE as Attribut,
|
||
(SELECT [dbo].[FNIDB_GET_TERM_DATE] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
|
||
T.ADDED_WHO,
|
||
T.ADDED_WHEN,
|
||
T.CHANGED_WHO,
|
||
T.CHANGED_WHEN
|
||
|
||
FROM
|
||
TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
|
||
WHERE
|
||
T2.NAME_TYPE = 'DATE'
|
||
GO
|
||
|
||
|
||
CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_DATETIME] AS
|
||
SELECT
|
||
T.GUID AS MetadataID,
|
||
T.ATTR_ID AS AttributID,
|
||
T.IDB_OBJ_ID,
|
||
T1.TITLE as Attribut,
|
||
T3.TERM_VALUE AS 'Term_Value',
|
||
T.ADDED_WHO,
|
||
T.ADDED_WHEN,
|
||
T.CHANGED_WHO,
|
||
T.CHANGED_WHEN
|
||
FROM
|
||
TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_DATETIME T3 ON T.DATETIME_TERM_ID = T3.GUID
|
||
GO
|
||
CREATE NONCLUSTERED INDEX [TBIDB_OBJECT_METADATA_DATETIMETERMID]
|
||
ON [dbo].[TBIDB_OBJECT_METADATA] ([DATETIME_TERM_ID])
|
||
INCLUDE ([IDB_OBJ_ID],[ATTR_ID],[ADDED_WHO],[ADDED_WHEN],[CHANGED_WHO],[CHANGED_WHEN])
|
||
GO
|
||
|
||
CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_DECIMAL] AS
|
||
SELECT
|
||
T.GUID AS MetadataID,
|
||
T.ATTR_ID AS AttributID,
|
||
T.IDB_OBJ_ID,
|
||
T1.TITLE as Attribut,
|
||
(SELECT [dbo].[FNIDB_GET_TERM_DECIMAL] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
|
||
T.ADDED_WHO,
|
||
T.ADDED_WHEN,
|
||
T.CHANGED_WHO,
|
||
T.CHANGED_WHEN
|
||
FROM
|
||
TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
|
||
WHERE
|
||
T2.NAME_TYPE = 'DECIMAL'
|
||
GO
|
||
|
||
CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_FLOAT] AS
|
||
SELECT
|
||
T.GUID AS MetadataID,
|
||
T.ATTR_ID AS AttributID,
|
||
T.IDB_OBJ_ID,
|
||
T1.TITLE as Attribut,
|
||
(SELECT [dbo].[FNIDB_GET_TERM_FLOAT] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
|
||
T.ADDED_WHO,
|
||
T.ADDED_WHEN,
|
||
T.CHANGED_WHO,
|
||
T.CHANGED_WHEN
|
||
FROM
|
||
TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
|
||
WHERE
|
||
T2.NAME_TYPE = 'FLOAT'
|
||
GO
|
||
|
||
CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_INTEGER] AS
|
||
SELECT
|
||
T.GUID AS MetadataID,
|
||
T.ATTR_ID AS AttributID,
|
||
T.IDB_OBJ_ID,
|
||
T1.TITLE as Attribut,
|
||
(SELECT [dbo].[FNIDB_GET_TERM_INTEGER] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
|
||
T.ADDED_WHO,
|
||
T.ADDED_WHEN,
|
||
T.CHANGED_WHO,
|
||
T.CHANGED_WHEN
|
||
FROM
|
||
TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
|
||
WHERE
|
||
T2.NAME_TYPE = 'BIG INTEGER'
|
||
GO
|
||
|
||
CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_TEXT] AS
|
||
SELECT
|
||
T.IDB_OBJ_ID
|
||
,T.ATTR_ID
|
||
,T1.TITLE ATTR_NAME
|
||
,(SELECT [dbo].[FNIDB_GET_TERM_TEXT] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value'
|
||
FROM
|
||
TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
|
||
WHERE
|
||
T2.NAME_TYPE = 'VARCHAR'
|
||
GO
|
||
|
||
|
||
CREATE VIEW [dbo].[VWIDB_VALUE_DELETE_LOG] AS
|
||
select
|
||
T.GUID AS DeleteID,
|
||
T1.GUID AS AttributID,
|
||
T.IDB_OBJ_ID,
|
||
T1.TITLE as Attribut,
|
||
T3.TERM_VALUE as [Gel<EFBFBD>schter Wert],
|
||
T.DELETED_WHO [Gel<EFBFBD>scht wer],
|
||
T.DELETED_WHEN [Gel<EFBFBD>scht wann]
|
||
from TBIDB_OBJECT_METADATA_DELETE T
|
||
INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.TEXT_TERM_LANG_ID = T2.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
|
||
GO
|
||
CREATE VIEW [dbo].[VWIDB_VALUE_TEXT] AS
|
||
select TOP 100 PERCENT
|
||
T.GUID AS MetadataID,
|
||
T1.GUID AS AttributID,
|
||
T.IDB_OBJ_ID,
|
||
T1.TITLE as Attribut,
|
||
T3.TERM_VALUE,
|
||
T4.LANG_CODE,
|
||
T.ADDED_WHO,
|
||
T.ADDED_WHEN,
|
||
T.CHANGED_WHO [Ge<EFBFBD>ndert wer],
|
||
T.CHANGED_WHEN [Ge<EFBFBD>ndert wann]
|
||
from TBIDB_OBJECT_METADATA T
|
||
INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.TEXT_TERM_LANG_ID = T2.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
|
||
INNER JOIN TBIDB_LANGUAGE T4 ON T2.LANGUAGE_ID = T4.GUID
|
||
ORDER BY
|
||
T.IDB_OBJ_ID,T1.TITLE
|
||
GO
|
||
|
||
CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_TEXT_SORTED] as
|
||
SELECT TOP 100 PERCENT
|
||
*, [Ge<EFBFBD>ndert wann] as LAST_CHANGE
|
||
FROM
|
||
VWIDB_VALUE_TEXT where [Ge<EFBFBD>ndert wann] IS NOT NULL
|
||
UNION
|
||
SELECT TOP 100 PERCENT
|
||
*, [ADDED_WHEN] as LAST_CHANGE
|
||
FROM
|
||
VWIDB_VALUE_TEXT where [Ge<EFBFBD>ndert wann] IS NULL
|
||
ORDER BY IDB_OBJ_ID DESC,LAST_CHANGE DESC
|
||
GO
|
||
CREATE VIEW VWIDB_OBJECTSTORE AS
|
||
SELECT
|
||
T.GUID As OST_ID,
|
||
T.OBJECT_TITLE AS OS_TITLE,
|
||
T.IS_ARCHIVE AS OS_IS_ARCHIVE,
|
||
T1.CAT_STRING AS IDB_PRAEFIX
|
||
FROM
|
||
TBIDB_OBJECT_STORE T
|
||
INNER JOIN TBIDB_CATALOG T1 ON T.CAT_ID = T1.GUID
|
||
GO
|
||
|
||
CREATE VIEW VWIDB_CONVERSATION AS
|
||
SELECT
|
||
GUID As CONVERSATION_ID
|
||
,IDB_OBJ_ID
|
||
,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (TITLE_TERM_ID) as TITLE
|
||
,[dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (GUID) AS CONVERSATION_STATE
|
||
,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (ADDED_WHO) as ADDED_WHO
|
||
,ADDED_WHEN
|
||
,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (CHANGED_WHO) as CHANGED_WHO
|
||
,CHANGED_WHEN
|
||
FROM TBIDB_CONVERSATION_OBJECT
|
||
GO
|
||
CREATE VIEW VWIDB_CONV_MESSAGES AS
|
||
select
|
||
T.GUID,
|
||
T.CONV_ID,
|
||
(SELECT EMAIL FROM @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID = T.TO_USER) TO_USER,
|
||
[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T1.TITLE_TERM_ID) AS CONV_TITLE
|
||
,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (T.FROM_USER) as USER_FROM
|
||
,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.MESSAGE_TERM_ID) as MESSAGE_TEXT
|
||
,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.ADDED_WHO) as ADDED_WHO
|
||
,T.ADDED_WHEN
|
||
from TBIDB_CONVERSATION_MESSAGE T INNER JOIN TBIDB_CONVERSATION_OBJECT T1 ON T.CONV_ID = T1.GUID
|
||
GO
|
||
|
||
CREATE VIEW VWIDB_CONVERSATION_USER AS
|
||
SELECT
|
||
T.CONV_ID
|
||
,T1.GUID As USER_ID
|
||
,T1.USERNAME
|
||
,T1.EMAIL
|
||
,T1.NAME + ', ' + T1.PRENAME as NAME
|
||
FROM
|
||
[IDB_TEST].[dbo].[TBIDB_CONVERSATION_USER] T
|
||
INNER JOIN @MY_DD_ECM_DB.dbo.TBDD_USER T1 ON T.USER_OR_GROUP_ID = T1.GUID
|
||
WHERE IS_USER = 1
|
||
GO
|
||
|
||
--CREATE VIEW VWIDB_SEARCH_PROFILE_ATTRIBUTES AS
|
||
--SELECT
|
||
-- T.SEARCH_PROFIL_ID,
|
||
-- T.GUID,
|
||
-- T.ATTRIBUTE_ID,
|
||
-- --T.DEPENDING_ATTRIBUTE1,
|
||
-- T1.TITLE AS ATTRIBUTE_TITLE,
|
||
-- T.HEIGHT,
|
||
-- T.WIDTH,
|
||
-- T.MULTISELECT,
|
||
-- T2.NAME_TYPE AS ATTRIBUTE_TYPE
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
|
||
-- ,T.ADDED_WHEN
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
|
||
-- ,T.CHANGED_WHEN
|
||
-- ,T.[SEQUENCE]
|
||
--FROM
|
||
-- TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
|
||
-- INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
|
||
--GO
|
||
|
||
--CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_LINKS AS
|
||
--SELECT
|
||
-- T1.SEARCH_PROFIL_ID,
|
||
-- T.GUID,
|
||
-- T.DEP_ATTR_ID,
|
||
-- --T.DEPENDING_ATTRIBUTE1,
|
||
-- T3.TITLE AS DEP_ATTRIBUTE_TITLE,
|
||
-- [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T1.SOURCE_SQL) DEP_SOURCE_SQL,
|
||
-- T.LINKED_ATTR_ID
|
||
-- --T.DEPENDING_ATTRIBUTE1,
|
||
-- ,T5.TITLE AS LINK_ATTRIBUTE_TITLE
|
||
-- ,T.ADDED_WHEN
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
|
||
-- ,T.CHANGED_WHEN
|
||
--FROM
|
||
-- TBIDB_SEARCH_ATTRIBUTES_LINKS T INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T1 ON T.DEP_ATTR_ID = T1.ATTRIBUTE_ID
|
||
-- --INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.LINKED_ATTR_ID = T2.ATTRIBUTE_ID
|
||
-- INNER JOIN TBIDB_ATTRIBUTE T3 ON T.DEP_ATTR_ID = T3.GUID
|
||
-- INNER JOIN TBIDB_ATTRIBUTE T5 ON T.LINKED_ATTR_ID = T5.GUID
|
||
|
||
--GO
|
||
|
||
|
||
|
||
|
||
|
||
--CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_USER
|
||
--AS
|
||
-- select TOP 100 PERCENT
|
||
-- T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE
|
||
-- from
|
||
-- TBIDB_USER_SEARCH_CRITERIA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
|
||
-- INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.SEARCH_PROFIL_ID = T2.SEARCH_PROFIL_ID AND T.ATTRIBUTE_ID = T2.ATTRIBUTE_ID
|
||
-- GROUP BY T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE
|
||
-- ORDER BY T.USERID, T.SEARCH_PROFIL_ID, T2.SEQUENCE
|
||
--GO
|
||
CREATE VIEW [dbo].[VWIDB_CHANGE_LOG] AS
|
||
select
|
||
T.GUID AS ChangeID,
|
||
T.IDB_OBJ_ID,
|
||
T1.TITLE as Attribute,
|
||
T3.TERM_VALUE as [Old value],
|
||
T5.TERM_VALUE as [New value],
|
||
T.CHANGED_WHO [Changed who],
|
||
T.CHANGED_WHEN [Changed when]
|
||
from TBIDB_OBJECT_METADATA_CHANGE T
|
||
INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
|
||
INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
|
||
INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID
|
||
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID
|
||
GO
|
||
--CREATE VIEW [dbo].[VWIDB_CATEGORIES_PER_OBJECT_AND_LANGUAGE] AS
|
||
--select
|
||
-- MD.IDB_OBJ_ID
|
||
-- ,TLANG.LANGUAGE_ID
|
||
-- ,TERM.TERM_VALUE
|
||
-- ,TERM_ATTR.TERM_VALUE AS ATTRIBUTE_TITLE
|
||
-- ,ATTR.GUID AS ATTRIBUTE_ID
|
||
--FROM
|
||
-- TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
|
||
-- INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
|
||
-- INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
|
||
-- INNER JOIN TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES CAT_ATTR ON MD.ATTR_ID = CAT_ATTR.ATTRIBUTE_ID
|
||
-- INNER JOIN TBIDB_ATTRIBUTE ATTR ON CAT_ATTR.ATTRIBUTE_ID = ATTR.GUID
|
||
-- INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE ATTR_LANG ON ATTR.GUID = ATTR_LANG.ATTRIBUTE_ID
|
||
-- INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM_ATTR ON ATTR_LANG.TERM_ID = TERM_ATTR.GUID
|
||
--WHERE
|
||
-- CAT_ATTR.ACTIVE = 1
|
||
--GO
|
||
USE DD_ECM
|
||
GO
|
||
|
||
CREATE VIEW [dbo].[VWGI_DOCTYPE_USER] AS
|
||
SELECT DISTINCT
|
||
T.GUID AS [USER_ID],
|
||
T.USERNAME,
|
||
--T2.NAME AS GROUP_NAME,
|
||
T3.DOCTYPE_ID,
|
||
T4.BEZEICHNUNG AS DOCTYPE,
|
||
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
|
||
T4.KURZNAME,
|
||
T4.ZIEL_PFAD,
|
||
T4.AKTIV,
|
||
T4.NAMENKONVENTION,
|
||
T4.OBJEKTTYP,
|
||
T5.OBJECT_ST_ID,
|
||
T4.SEQUENCE
|
||
FROM
|
||
DD_ECM.dbo.TBDD_USER T,
|
||
DD_ECM.dbo.TBDD_GROUPS_USER T1,
|
||
DD_ECM.dbo.TBDD_GROUPS T2,
|
||
DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3,
|
||
DD_ECM.dbo.TBDD_DOKUMENTART T4,
|
||
IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5
|
||
WHERE
|
||
T4.AKTIV = 1 AND
|
||
T.GUID = T1.[USER_ID] AND
|
||
T1.GROUP_ID = T2.GUID AND
|
||
T2.GUID = T3.GROUP_ID AND
|
||
T3.DOCTYPE_ID = T4.GUID AND
|
||
T4.GUID = T5.DOCTYPE_ID AND
|
||
|
||
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
|
||
UNION
|
||
SELECT DISTINCT
|
||
T.GUID AS [USER_ID],
|
||
T.USERNAME,
|
||
--'' AS GROUP_NAME,
|
||
T4.GUID as DOCTYPE_ID,
|
||
T4.BEZEICHNUNG AS DOCTYPE,
|
||
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
|
||
T4.KURZNAME,
|
||
T4.ZIEL_PFAD,
|
||
T4.AKTIV,
|
||
T4.NAMENKONVENTION,
|
||
T4.OBJEKTTYP,
|
||
T5.OBJECT_ST_ID,
|
||
T4.SEQUENCE
|
||
FROM
|
||
DD_ECM.dbo.TBDD_USER T,
|
||
DD_ECM.dbo.TBDD_USER_DOKTYPE T3,
|
||
DD_ECM.dbo.TBDD_DOKUMENTART T4,
|
||
IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5
|
||
WHERE
|
||
T4.AKTIV = 1 AND
|
||
T.GUID = T3.[USER_ID] AND
|
||
T3.DOCTYPE_ID = T4.GUID AND
|
||
T4.GUID = T5.DOCTYPE_ID AND
|
||
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
|
||
GO
|
||
CREATE VIEW [dbo].[VWGI_DOCTYPE] AS
|
||
SELECT DISTINCT
|
||
T4.GUID as DOCTYPE_ID,
|
||
T4.BEZEICHNUNG AS DOCTYPE,
|
||
T4.BEZEICHNUNG AS DOCTYPE_ONLY,
|
||
T4.KURZNAME,
|
||
T4.ZIEL_PFAD,
|
||
T4.AKTIV,
|
||
T4.NAMENKONVENTION,
|
||
T4.OBJEKTTYP,
|
||
T5.OBJECT_ST_ID,
|
||
T4.SEQUENCE
|
||
FROM
|
||
DD_ECM.dbo.TBDD_DOKUMENTART T4,
|
||
IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5
|
||
WHERE
|
||
T4.AKTIV = 1 AND
|
||
T4.GUID = T5.DOCTYPE_ID AND
|
||
|
||
T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
|
||
GO
|
||
|
||
|
||
/*###########################################
|
||
############## PROCEDURES ###################
|
||
#############################################*/
|
||
|
||
|
||
-- =============================================
|
||
-- Author: DD MS
|
||
-- Changed: 25.11.2021 @TERM_TYPE_ID = 6
|
||
-- Changed: 25.08.2020 @TERM_TYPE_ID = 7 AND UPPER(@TERM)
|
||
-- =============================================
|
||
ALTER PROCEDURE [dbo].[PRIDB_NEW_TERM] @MD_TYPE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_TYPE_ID TINYINT
|
||
|
||
SELECT @TERM_TYPE_ID = GUID FROM TBIDB_ATTRIBUTE_TYPE WHERE UPPER(NAME_TYPE) = UPPER(@MD_TYPE)
|
||
IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE'
|
||
SET @TERM = 1
|
||
ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE'
|
||
SET @TERM = 0
|
||
--PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM
|
||
IF @TERM_TYPE_ID IN (1,8) --VARCHAR
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO);
|
||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_VARCHAR
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)
|
||
ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO);
|
||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_INTEGER
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)
|
||
ELSE IF @TERM_TYPE_ID = 3 --FLOAT
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO);
|
||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_FLOAT
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)
|
||
ELSE IF @TERM_TYPE_ID = 4 --DECIMAL
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO);
|
||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DECIMAL
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)
|
||
ELSE IF @TERM_TYPE_ID = 5 --DATE
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO);
|
||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATE
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
|
||
ELSE IF @TERM_TYPE_ID = 6 --DATETIME
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATETIME WHERE TERM_VALUE = CONVERT(DATETIME,@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_DATETIME (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATETIME,@TERM),@WHO);
|
||
SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATETIME
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
|
||
|
||
PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###'
|
||
END
|
||
GO
|
||
|
||
|
||
CREATE PROCEDURE [dbo].[PRIDB_NEW_IDB_STATE] @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@LANG_ID INTEGER
|
||
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
|
||
|
||
DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
|
||
DECLARE @ADDED_WHO_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID)
|
||
INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@STATE_TERM_ID,@pWHO)
|
||
SELECT @LANG_STATE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)
|
||
INSERT INTO TBIDB_STATES (STATE_LTERM_ID,ADDED_WHO) VALUES (@LANG_STATE_TERM_ID,@ADDED_WHO_TERM_ID)
|
||
IF NOT EXISTS (SELECT GUID FROM TBIDB_STATE_LANG_GROUP WHERE STATE_ID = (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID))
|
||
INSERT INTO TBIDB_STATE_LANG_GROUP (STATE_ID,LANG_TERM_ID,ADDED_WHO) VALUES (
|
||
(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)
|
||
,@LANG_STATE_TERM_ID
|
||
,@ADDED_WHO_TERM_ID)
|
||
|
||
SELECT * FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID
|
||
END
|
||
GO
|
||
EXEC PRIDB_NEW_IDB_STATE 'Started', 'Digital Data','de-DE';
|
||
EXEC PRIDB_NEW_IDB_STATE 'Ended', 'Digital Data','de-DE';
|
||
GO
|
||
|
||
CREATE PROCEDURE [dbo].[PRIDB_DELETE_ATTRIBUTE_DATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @WHO VARCHAR(100)
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@ATTR_ID INTEGER,
|
||
@ATTR_TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@TEXT_TERM_LANG_ID BIGINT,
|
||
@TERM_ID BIGINT,
|
||
@USER_DELETE_ID INTEGER,
|
||
@ERROR as BIT
|
||
SET @ERROR = 0
|
||
SELECT @USER_DELETE_ID = COALESCE(MAX(USER_DELETE_ID),0) + 1 FROM TBIDB_OBJECT_METADATA_DELETE WHERE UPPER(DELETED_WHO) = UPPER(@WHO)
|
||
|
||
SELECT @ATTR_ID = T.GUID,@ATTR_TYP_ID = T.TYP_ID FROM TBIDB_ATTRIBUTE T WHERE UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
|
||
|
||
IF @ATTR_TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.TEXT_TERM_LANG_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TEXT_TERM_LANG_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
INNER JOIN TBIDB_TERM_LANGUAGE T1
|
||
ON T.TEXT_TERM_LANG_ID=T1.GUID
|
||
WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
|
||
ELSE IF @ATTR_TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.INT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (INTEGER) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
ELSE IF @ATTR_TYP_ID = 3 --FLOAT
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.FLOAT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (FLOAT) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
ELSE IF @ATTR_TYP_ID = 4 --DECIMAL
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.DEC_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (DECIMAL) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
ELSE IF @ATTR_TYP_ID = 5 --DATE
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.DATE_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (DATE) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
--IF @ERROR = 0
|
||
-- BEGIN
|
||
-- UPDATE TBIDB_ATTRIBUTE SET DELETED = 1, DELETED_WHO = @WHO WHERE GUID = @ATTR_ID;
|
||
-- END
|
||
END
|
||
GO
|
||
|
||
CREATE PROCEDURE [dbo].[PRIDB_OBJECT_SET_DELETED] @IDB_OBJECT BIGINT, @WHO VARCHAR(100)
|
||
AS
|
||
BEGIN
|
||
UPDATE TBIDB_OBJECT SET DELETED = 1,CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJECT
|
||
END
|
||
GO
|
||
|
||
|
||
CREATE PROCEDURE [dbo].[PRIDB_CHECK_DOCINFO] @IDB_OBJ_ID BIGINT, @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID_OUT BIGINT OUTPUT
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@SHARE_PATH VARCHAR(100),
|
||
@OBJ_STORE_PATH VARCHAR(250),
|
||
@NEW_FULL_PATH VARCHAR(512),
|
||
@FILENAME_EXT VARCHAR(250),
|
||
@FILENAME_ONLY VARCHAR(250),
|
||
@RELATIVE_PATH VARCHAR(512),
|
||
@RELATIVE_PATH_ONLY VARCHAR(512),
|
||
@EXT VARCHAR(10)
|
||
|
||
SELECT
|
||
@SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH
|
||
FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID
|
||
SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH)
|
||
SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','')
|
||
SET @RELATIVE_PATH = UPPER(@REL_PATH)
|
||
PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH
|
||
PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH
|
||
|
||
|
||
SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH);
|
||
SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH);
|
||
SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH));
|
||
SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'')
|
||
DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT
|
||
EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT
|
||
EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT
|
||
PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY
|
||
--PRINT '@EXT: ' + @EXT
|
||
|
||
IF EXISTS(SELECT GUID FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
|
||
UPDATE [TBIDB_DOC_INFO] SET [OBJ_ST_ID] = @OBJ_ST_ID, [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY
|
||
,EXTENSION_TERM = @EXTENSION_TERM
|
||
,[RELATIVE_PATH] = @RELATIVE_PATH
|
||
,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM
|
||
,CHANGED_WHO = @WHO
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID
|
||
ELSE
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_DOC_INFO]
|
||
([IDB_OBJ_ID]
|
||
,[OBJ_ST_ID]
|
||
,[FILENAME_EXT]
|
||
,[FILENAME_ONLY]
|
||
,EXTENSION_TERM
|
||
,[RELATIVE_PATH]
|
||
,RELATIVE_PATH_ONLY_TERM
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@OBJ_ST_ID
|
||
,@FILENAME_EXT
|
||
,@FILENAME_ONLY
|
||
,@EXTENSION_TERM
|
||
,@RELATIVE_PATH
|
||
,@RELATIVE_PATH_ONLY_TERM
|
||
,@WHO)
|
||
END
|
||
SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID
|
||
END
|
||
GO
|
||
CREATE PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX),
|
||
@LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@ATTR_ID INTEGER,
|
||
@TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@LANG_ID INT
|
||
--PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
|
||
IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY)
|
||
BEGIN
|
||
PRINT 'FOUND NO IDB-OBJECT FOR REFERENCE KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
|
||
END
|
||
ELSE
|
||
BEGIN
|
||
SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY
|
||
--Print 'PRIDB_NEW_OBJ_DATA: Checked the DocID as Reference: ' + Convert(Varchar(10),@IDB_OBJ_ID)
|
||
END
|
||
|
||
END
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE))
|
||
RAISERROR ('NO VALID ATTRIBUTE',16,1)
|
||
|
||
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
|
||
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
|
||
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
|
||
|
||
DECLARE @MY_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM_VAL,@WHO,@TERM_ID = @MY_TERM_ID OUTPUT;
|
||
--PRINT 'PRIDB_NEW_OBJ_DATA: @TYP_ID is: ' + Convert(Varchar(10),@TYP_ID)
|
||
IF @TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID)
|
||
INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MY_TERM_ID,@WHO)
|
||
|
||
SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID
|
||
|
||
IF @TYP_ID = 1 --Single Varchar
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
|
||
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
|
||
([IDB_OBJ_ID]
|
||
,[ATTR_ID]
|
||
,[TEXT_TERM_LANG_ID]
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@ATTR_ID
|
||
,@MY_TERM_ID
|
||
,@WHO)
|
||
|
||
ELSE
|
||
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] <> @MY_TERM_ID)
|
||
UPDATE TBIDB_OBJECT_METADATA SET [TEXT_TERM_LANG_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
|
||
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID
|
||
END
|
||
ELSE
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID)
|
||
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
|
||
([IDB_OBJ_ID]
|
||
,[ATTR_ID]
|
||
,[TEXT_TERM_LANG_ID]
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@ATTR_ID
|
||
,@MY_TERM_ID
|
||
,@WHO)
|
||
--ELSE
|
||
--PRINT 'IDB-METADATAOBJECT-VALUE SEEMS TO EXIST: @IDB_OBJ_ID: ' + Convert(Varchar(10),@IDB_OBJ_ID)
|
||
|
||
END
|
||
ELSE IF @TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
|
||
([IDB_OBJ_ID]
|
||
,[ATTR_ID]
|
||
,[INT_TERM_ID]
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@ATTR_ID
|
||
,@MY_TERM_ID
|
||
,@WHO)
|
||
END
|
||
ELSE
|
||
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [INT_TERM_ID] <> @MY_TERM_ID)
|
||
UPDATE TBIDB_OBJECT_METADATA SET [INT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
|
||
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
|
||
END
|
||
ELSE IF @TYP_ID = 3 --FLOAT
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
|
||
([IDB_OBJ_ID]
|
||
,[ATTR_ID]
|
||
,[FLOAT_TERM_ID]
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@ATTR_ID
|
||
,@MY_TERM_ID
|
||
,@WHO)
|
||
END
|
||
ELSE
|
||
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [FLOAT_TERM_ID] <> @MY_TERM_ID)
|
||
UPDATE TBIDB_OBJECT_METADATA SET [FLOAT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
|
||
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
|
||
END
|
||
ELSE IF @TYP_ID = 4 --DECIMAL
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
|
||
([IDB_OBJ_ID]
|
||
,[ATTR_ID]
|
||
,[DEC_TERM_ID]
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@ATTR_ID
|
||
,@MY_TERM_ID
|
||
,@WHO)
|
||
END
|
||
ELSE
|
||
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID <> @MY_TERM_ID)
|
||
UPDATE TBIDB_OBJECT_METADATA SET [DEC_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
|
||
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
|
||
END
|
||
ELSE IF @TYP_ID = 5 --DATE
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
|
||
([IDB_OBJ_ID]
|
||
,[ATTR_ID]
|
||
,[DATE_TERM_ID]
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@ATTR_ID
|
||
,@MY_TERM_ID
|
||
,@WHO)
|
||
END
|
||
ELSE
|
||
UPDATE TBIDB_OBJECT_METADATA SET [DATE_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
|
||
|
||
SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
|
||
END
|
||
--PRINT 'PRIDB_NEW_OBJ_DATA - Got the new @OMD_ID: ' + CONVERT(VARCHAR(20),@OMD_ID)
|
||
END
|
||
GO
|
||
CREATE PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5)
|
||
AS
|
||
DECLARE
|
||
@ATTR_ID INT,
|
||
@TITLE VARCHAR(100),
|
||
@TYPID INT,
|
||
@SQL1 NVARCHAR(MAX),
|
||
@Date Varchar(20),
|
||
@Bool4 Varchar(1),
|
||
@Integer24 Varchar(20),
|
||
@Float Varchar(20),
|
||
@RELPATH Varchar(200)
|
||
|
||
SET @SQL1 = 'CREATE VIEW VWIDB_DOC_DATA_' + UPPER(LEFT(@pLANGCODE,2)) + ' AS '+ char(10) + 'SELECT ' + char(10) + ' T.IDB_OBJ_ID' + char(10)
|
||
BEGIN
|
||
DECLARE c_REDO CURSOR FOR
|
||
SELECT ATTR_ID,ATTR_TITLE,TYPE_ID
|
||
FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE ORDER BY VIEW_SEQUENCE
|
||
|
||
OPEN c_REDO
|
||
FETCH NEXT FROM c_REDO INTO @ATTR_ID,@TITLE,@TYPID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
DECLARE @FN_COMMAND as VARCHAR(100), @FN_TYP as VARCHAR(50)
|
||
SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID))'
|
||
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@OBJ_ID','T.IDB_OBJ_ID')
|
||
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@ATTR_ID',@ATTR_ID)
|
||
IF @TYPID = 1
|
||
SET @FN_TYP = 'TEXT'
|
||
ELSE IF @TYPID = 2
|
||
SET @FN_TYP = 'INTEGER'
|
||
ELSE IF @TYPID = 3
|
||
SET @FN_TYP = 'FLOAT'
|
||
ELSE IF @TYPID = 4
|
||
SET @FN_TYP = 'DECIMAL'
|
||
ELSE IF @TYPID = 5
|
||
SET @FN_TYP = 'DATE'
|
||
ELSE IF @TYPID = 7
|
||
SET @FN_TYP = 'BIT'
|
||
ELSE IF @TYPID = 8
|
||
SET @FN_TYP = 'TEXT_VECTOR'
|
||
ELSE IF @TYPID = 8
|
||
SET @FN_TYP = 'INTEGER_VECTOR'
|
||
|
||
SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@TYPE',@FN_TYP)
|
||
SET @SQL1 += char(9) + ',' + @FN_COMMAND + char(9) + char(9) + ' AS ''' + @TITLE + '''' + char(10)
|
||
|
||
FETCH NEXT FROM c_REDO INTO @ATTR_ID,@TITLE,@TYPID
|
||
END
|
||
CLOSE c_REDO
|
||
DEALLOCATE c_REDO
|
||
SET @SQL1 += char(9) + ',T5.TERM_VALUE AS DocExtension' + char(10)
|
||
+ char(9) + ',T5.TERM_VALUE AS DocName' + char(10)
|
||
+ char(9) + ',CONCAT(T4.TERM_VALUE,''\'',T5.TERM_VALUE) AS DocRelativePath' + char(10)
|
||
+ char(9) + ',T4.TERM_VALUE AS DocRelativePathOnly' + char(10)
|
||
+ char(9) + ',T2.ADDED_WHEN' + char(10)
|
||
+ char(9) + ',T2.ADDED_WHO' + char(10)
|
||
+ char(9) + ',T2.CHANGED_WHO' + char(10)
|
||
+ char(9) + ',T2.CHANGED_WHEN' + char(10)
|
||
+ 'FROM' + char(10)
|
||
+ char(9) + 'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10)
|
||
+ char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10)
|
||
+ char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10)
|
||
+ char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10)
|
||
+ 'WHERE KIND_TYPE_ID = 1 AND DELETED = 0 AND ACTIVE = 1'
|
||
PRINT @SQL1
|
||
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'VWIDB_DOC_DATA_' + UPPER(LEFT(@pLANGCODE,2)))
|
||
BEGIN
|
||
DECLARE @DELETE NVARCHAR(100)
|
||
SET @DELETE = 'DROP VIEW [dbo].[VWIDB_DOC_DATA_' + UPPER(LEFT(@pLANGCODE,2)) + ']'
|
||
EXEC sp_executesql @DELETE
|
||
END
|
||
EXEC sp_executesql @SQL1
|
||
END
|
||
GO
|
||
|
||
CREATE PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@ATTR_ID INTEGER,
|
||
@TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@LANG_ID INT
|
||
--IF @ID_ISFOREIGN = 1
|
||
-- BEGIN
|
||
-- SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @IDB_OBJ_ID
|
||
-- END
|
||
|
||
SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
|
||
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
|
||
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
|
||
|
||
DECLARE @MY_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM,'',@TERM_ID = @MY_TERM_ID OUTPUT;
|
||
|
||
PRINT '@MY_TERM_ID: ' + CONVERT(VARCHAR(10),@MY_TERM_ID)
|
||
|
||
IF @TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN
|
||
PRINT 'Attribute is varchar...'
|
||
SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID
|
||
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID)
|
||
BEGIN
|
||
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID
|
||
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!'
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
|
||
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID
|
||
END
|
||
ELSE
|
||
PRINT 'TERM SEEMS NOT TO EXIST'
|
||
END
|
||
ELSE IF @TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN
|
||
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID)
|
||
BEGIN
|
||
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
|
||
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED INTEGER ROW!'
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
|
||
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
|
||
END
|
||
END
|
||
ELSE IF @TYP_ID = 3 --FLOAT
|
||
BEGIN
|
||
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID)
|
||
BEGIN
|
||
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
|
||
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED FLOAT ROW!'
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
|
||
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
|
||
END
|
||
END
|
||
ELSE IF @TYP_ID = 4 --DECIMAL
|
||
BEGIN
|
||
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID)
|
||
BEGIN
|
||
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
|
||
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DECIMAL ROW!'
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
|
||
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
|
||
END
|
||
END
|
||
ELSE IF @TYP_ID = 5 --DATE
|
||
BEGIN
|
||
IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID)
|
||
BEGIN
|
||
DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
|
||
PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DATE ROW!'
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
|
||
SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
|
||
END
|
||
END
|
||
|
||
|
||
END
|
||
GO
|
||
|
||
CREATE PROCEDURE [dbo].[PRIDB_DELETE_ATTRIBUTE] @ATTRIBUTE VARCHAR(100), @WHO VARCHAR(100)
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@ATTR_ID INTEGER,
|
||
@ATTR_TYP_ID TINYINT,
|
||
@IDB_OBJ_ID BIGINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@TEXT_TERM_LANG_ID BIGINT,
|
||
@TERM_ID BIGINT,
|
||
@USER_DELETE_ID INTEGER,
|
||
@ERROR as BIT
|
||
SET @ERROR = 0
|
||
SELECT @USER_DELETE_ID = COALESCE(MAX(USER_DELETE_ID),0) + 1 FROM TBIDB_OBJECT_METADATA_DELETE WHERE UPPER(DELETED_WHO) = UPPER(@WHO)
|
||
|
||
SELECT @ATTR_ID = T.GUID,@ATTR_TYP_ID = T.TYP_ID FROM TBIDB_ATTRIBUTE T WHERE UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
|
||
|
||
IF @ATTR_TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.TEXT_TERM_LANG_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TEXT_TERM_LANG_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
INNER JOIN TBIDB_TERM_LANGUAGE T1
|
||
ON T.TEXT_TERM_LANG_ID=T1.GUID
|
||
WHERE T.ATTR_ID = @ATTR_ID
|
||
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
|
||
ELSE IF @ATTR_TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.INT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
WHERE T.ATTR_ID = @ATTR_ID
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (INTEGER) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
ELSE IF @ATTR_TYP_ID = 3 --FLOAT
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.FLOAT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
WHERE T.ATTR_ID = @ATTR_ID
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (FLOAT) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
ELSE IF @ATTR_TYP_ID = 4 --DECIMAL
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.DEC_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
WHERE T.ATTR_ID = @ATTR_ID
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (DECIMAL) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
ELSE IF @ATTR_TYP_ID = 5 --DATE
|
||
BEGIN TRY
|
||
DECLARE cursor_DeleteLog CURSOR LOCAL FOR
|
||
SELECT T.IDB_OBJ_ID,T.DATE_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
|
||
OPEN cursor_DeleteLog
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO,USER_DELETE_ID)
|
||
VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
|
||
FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
|
||
END
|
||
CLOSE cursor_DeleteLog
|
||
DEALLOCATE cursor_DeleteLog
|
||
|
||
DELETE T
|
||
FROM TBIDB_OBJECT_METADATA T
|
||
WHERE T.ATTR_ID = @ATTR_ID
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (DATE) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
IF @ERROR = 0
|
||
BEGIN
|
||
UPDATE TBIDB_ATTRIBUTE SET DELETED = 1, DELETED_WHO = @WHO WHERE GUID = @ATTR_ID;
|
||
END
|
||
END
|
||
|
||
GO
|
||
--delete from TBIDB_CONVERSATION_OBJECT
|
||
CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION] @pIDB_OBJ_ID BIGINT, @pTITLE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@LANG_ID INTEGER
|
||
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
|
||
|
||
DECLARE @TITLE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@pWHO,@TERM_ID = @TITLE_TERM_ID OUTPUT;
|
||
DECLARE @ADDED_WHO_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID)
|
||
INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@TITLE_TERM_ID,@pWHO)
|
||
SELECT @LANG_TITLE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND TITLE_TERM_ID = @LANG_TITLE_TERM_ID)
|
||
INSERT INTO TBIDB_CONVERSATION_OBJECT (TITLE_TERM_ID,IDB_OBJ_ID,ADDED_WHO) VALUES (@LANG_TITLE_TERM_ID,@pIDB_OBJ_ID,@ADDED_WHO_TERM_ID)
|
||
DECLARE @STARTED_STATE BIGINT
|
||
SELECT @STARTED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Started'
|
||
|
||
DECLARE @CONVERSATION_ID BIGINT
|
||
SELECT @CONVERSATION_ID = GUID FROM TBIDB_CONVERSATION_OBJECT WHERE TITLE_TERM_ID = @LANG_TITLE_TERM_ID AND IDB_OBJ_ID = @pIDB_OBJ_ID
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @CONVERSATION_ID AND STATE_ID = @STARTED_STATE)
|
||
INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@CONVERSATION_ID,@STARTED_STATE,@ADDED_WHO_TERM_ID)
|
||
END
|
||
GO
|
||
CREATE PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pIDB_OBJ_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@LANG_ID INTEGER
|
||
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
|
||
|
||
DECLARE @STATE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
|
||
DECLARE @ADDED_WHO_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
|
||
|
||
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pIDB_OBJ_ID AND STATE_ID = @STATE_TERM_ID)
|
||
INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@STATE_TERM_ID,@ADDED_WHO_TERM_ID)
|
||
END
|
||
GO
|
||
CREATE PROCEDURE [dbo].[PRIDB_END_CONVERSATION] @pCONVID BIGINT, @pWHO VARCHAR(100), @pLANG_CODE VARCHAR(5) = 'de-DE'
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@LANG_ID INTEGER
|
||
,@ENDED_STATE BIGINT
|
||
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
|
||
SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended'
|
||
|
||
DECLARE @WHO_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
|
||
|
||
|
||
IF NOT EXISTS(SELECT MY_OBJECT_ID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pCONVID AND STATE_ID = @ENDED_STATE)
|
||
INSERT INTO TBIDB_MYOBJECT_STATES (
|
||
MY_OBJECT_ID
|
||
,STATE_ID
|
||
,ADDED_WHO) VALUES (
|
||
@pCONVID
|
||
,@ENDED_STATE
|
||
,@WHO_TERM_ID)
|
||
END
|
||
GO
|
||
CREATE PROCEDURE [dbo].[PRIDB_ADD_USER_2_CONVERSATION] @pCONV_ID BIGINT, @pUSERID INTEGER,@pWHO VARCHAR(100)
|
||
AS
|
||
BEGIN
|
||
DECLARE @ADDED_WHO_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @pCONV_ID AND USER_OR_GROUP_ID = @pUSERID AND IS_USER = 1)
|
||
INSERT INTO TBIDB_CONVERSATION_USER (CONV_ID,USER_OR_GROUP_ID,IS_USER,ADDED_WHO) VALUES (@pCONV_ID,@pUSERID,1,@ADDED_WHO_TERM_ID)
|
||
|
||
END
|
||
GO
|
||
|
||
CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION_MESSAGE] @pCONV_ID BIGINT, @pMESSAGE VARCHAR(100), @pWHO VARCHAR(100),@pTO_USER INTEGER = 0, @pLANG_CODE VARCHAR(5) = 'de-DE'
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@LANG_ID INTEGER
|
||
|
||
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
|
||
|
||
DECLARE @MESSAGE_TERM_ID BIGINT,@LANG_MESSAGE_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pMESSAGE,@pWHO,@TERM_ID = @MESSAGE_TERM_ID OUTPUT;
|
||
DECLARE @ADDED_WHO_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID)
|
||
INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MESSAGE_TERM_ID,@pWHO)
|
||
SELECT @LANG_MESSAGE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID
|
||
|
||
--IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID = @pCONV_ID AND FROM_USER = FROM_USER AND MESSAGE_TERM_ID = @LANG_MESSAGE_TERM_ID)
|
||
INSERT INTO TBIDB_CONVERSATION_MESSAGE (CONV_ID,FROM_USER,TO_USER, MESSAGE_TERM_ID, ADDED_WHO) VALUES (@pCONV_ID,@ADDED_WHO_TERM_ID,@pTO_USER, @LANG_MESSAGE_TERM_ID,@ADDED_WHO_TERM_ID)
|
||
|
||
END
|
||
GO
|
||
CREATE PROCEDURE PRIDB_GET_VALUE_TYPE @pVALUE VARCHAR(900)--,@oType VARCHAR(10) OUTPUT
|
||
AS
|
||
BEGIN
|
||
declare @TBTYPE_RESULT table(pTYPE varchar(10))
|
||
DECLARE @oTYPE as Varchar(10)
|
||
SET @oType = 'NONE'
|
||
DECLARE @BIGINT as BIGINT, @FLOAT FLOAT,@DECIMAL DECIMAL(19,2),@DATE DATE
|
||
BEGIN TRY
|
||
SET @BIGINT = CONVERT(bigint,@pVALUE)
|
||
SET @oType = 'BIGINT'
|
||
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'NO BIGINT'
|
||
END CATCH
|
||
--IF @oType = 'NONE'
|
||
BEGIN TRY
|
||
SET @FLOAT = CONVERT(FLOAT,@pVALUE)
|
||
SET @oType = 'FLOAT'
|
||
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'NO FLOAT'
|
||
END CATCH
|
||
--IF @oType = 'NONE'
|
||
BEGIN TRY
|
||
SET @DECIMAL = CONVERT(DECIMAL(19,2),@pVALUE)
|
||
SET @oType = 'DECIMAL'
|
||
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'NO DECIMAL'
|
||
END CATCH
|
||
--IF @oType = 'NONE'
|
||
BEGIN TRY
|
||
SET @DATE = CONVERT(DATE,@pVALUE)
|
||
SET @oType = 'DATE'
|
||
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'NO DATE'
|
||
END CATCH
|
||
--IF @oType = 'NONE'
|
||
BEGIN TRY
|
||
SET @oType = 'VARCHAR'
|
||
INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'NO VARCHAR'
|
||
END CATCH
|
||
PRINT '@TYPE: ' + @oType
|
||
SELECT * FROM @TBTYPE_RESULT
|
||
END
|
||
GO
|
||
--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE] @pSEARCHID INTEGER,@pATTRIBUTE_ID INTEGER,@pWHO_TERM_ID BIGINT,@pSequence INTEGER = 0
|
||
--AS
|
||
--BEGIN
|
||
-- IF @pSequence = 0
|
||
-- SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_RESULT_ATTRIBUTES
|
||
-- WHERE SEARCH_PROFIL_ID = @pSEARCHID
|
||
-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID)
|
||
-- BEGIN
|
||
-- INSERT INTO TBIDB_SEARCH_RESULT_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SEQUENCE,ADDED_WHO) VALUES (@pSEARCHID,@pATTRIBUTE_ID,@pSequence, @pWHO_TERM_ID)
|
||
-- EXEC [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCHID,@pATTRIBUTE_ID,@pWHO_TERM_ID,0
|
||
-- END
|
||
|
||
-- ELSE
|
||
-- UPDATE TBIDB_SEARCH_RESULT_ATTRIBUTES SET SEQUENCE = @pSequence
|
||
-- WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID
|
||
-- --SELECT
|
||
-- -- T.GUID,
|
||
-- -- T.ATTRIBUTE_ID,
|
||
-- -- T1.TITLE
|
||
-- -- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
|
||
-- -- ,T.ADDED_WHEN
|
||
-- --FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
|
||
-- --WHERE SEARCH_PROFIL_ID = @pSEARCHID
|
||
--END
|
||
--GO
|
||
|
||
--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_PROFILE] @BE_ID INT, @pTITLE VARCHAR(512),@pWHO_TERMID BIGINT,@pCOMMENT VARCHAR(900) = NULL, @pLANG_CODE VARCHAR(5) = 'de-DE'
|
||
--AS
|
||
--BEGIN
|
||
-- DECLARE
|
||
-- @LANG_ID INTEGER, @SQL_RESULT VARCHAR(912),
|
||
-- @SEARCH_ID INTEGER,
|
||
-- @WHO_TERM VARCHAR(100)
|
||
|
||
-- SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID
|
||
|
||
|
||
-- SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
|
||
-- DECLARE @MY_TITLE_TERM_ID BIGINT,@MY_LANG_TERM_ID BIGINT,@oLANGUAGE_TERM_METADATA_GUID BIGINT,@MY_RESULT_SQL_TERM_ID BIGINT
|
||
-- EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@WHO_TERM,@TERM_ID = @MY_TITLE_TERM_ID OUTPUT;
|
||
-- EXEC PRIDB_NEW_TERM_LANGUAGE @LANG_ID,@MY_TITLE_TERM_ID,@WHO_TERM,@TERM_LANGUAGE_GUID = @MY_LANG_TERM_ID OUTPUT
|
||
-- EXEC PRIDB_NEW_LANGUAGE_TERM_METADATA_GUID @MY_LANG_TERM_ID,@pWHO_TERMID,@oLANG_TERM_GUID = @oLANGUAGE_TERM_METADATA_GUID OUTPUT
|
||
|
||
-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID)
|
||
-- INSERT INTO TBIDB_SEARCH_PROFILE (TITLE_ID,ADDED_WHO,COMMENT) VALUES (@oLANGUAGE_TERM_METADATA_GUID,@pWHO_TERMID,@pCOMMENT)
|
||
-- ELSE
|
||
-- UPDATE TBIDB_SEARCH_PROFILE SET
|
||
-- COMMENT = @pCOMMENT,CHANGED_WHO = @pWHO_TERMID WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID AND COMMENT <> @pCOMMENT
|
||
|
||
-- SELECT @SEARCH_ID = MAX(GUID) FROM TBIDB_SEARCH_PROFILE T
|
||
-- WHERE T.TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID
|
||
|
||
-- SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename, * FROM VWIDB_DOC_DATA WHERE '
|
||
-- DECLARE @ATTR_ID INT,@SEQUENCE TINYINT
|
||
-- SET @SEQUENCE = 0
|
||
|
||
-- DECLARE cursorDefaultAttributes CURSOR FOR
|
||
-- SELECT
|
||
-- T1.GUID
|
||
-- FROM TBIDB_ATTRIBUTE T1 INNER JOIN TBIDB_BE_ATTRIBUTE T2 ON T1.GUID = T2.ATTR_ID
|
||
-- WHERE T2.BE_ID = @BE_ID AND DEFAULT_SEARCH_ATTRIBUTE = 1
|
||
-- ORDER BY T1.VIEW_SEQUENCE
|
||
-- OPEN cursorDefaultAttributes
|
||
-- FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID
|
||
-- WHILE @@FETCH_STATUS = 0
|
||
-- BEGIN
|
||
-- IF NOT EXISTS (SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND ATTRIBUTE_ID = @ATTR_ID)
|
||
-- EXEC PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE @SEARCH_ID,@ATTR_ID,@pWHO_TERMID,@SEQUENCE
|
||
-- SET @SEQUENCE += 1
|
||
-- FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID
|
||
-- END
|
||
-- CLOSE cursorDefaultAttributes
|
||
-- DEALLOCATE cursorDefaultAttributes
|
||
|
||
-- SELECT
|
||
-- T.GUID,T.TITLE_ID
|
||
-- ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID ] (T.TITLE_ID,@pLANG_CODE) AS TITLE
|
||
-- --,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.RESULT_SQL) AS RESULT_SQL
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
|
||
-- ,T.ADDED_WHEN
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
|
||
-- ,T.CHANGED_WHEN
|
||
-- FROM TBIDB_SEARCH_PROFILE T
|
||
-- WHERE GUID = @SEARCH_ID
|
||
--END
|
||
--GO
|
||
--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_SQL_RESULT] @SEARCH_ID INT,@pWHO_TERMID BIGINT
|
||
--AS
|
||
--BEGIN
|
||
-- DECLARE
|
||
-- @LANG_ID TINYINT,
|
||
-- @SQL_RESULT VARCHAR(912),
|
||
-- @WHO_TERM VARCHAR(100),
|
||
-- @MY_RESULT_SQL_TERM_ID BIGINT
|
||
-- SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID
|
||
|
||
-- DECLARE cursorLang CURSOR FOR
|
||
-- select GUID from TBIDB_LANGUAGE WHERE CREATE_DEFAULT_ENTRY = 1
|
||
-- OPEN cursorLang
|
||
-- FETCH NEXT FROM cursorLang INTO @LANG_ID
|
||
-- WHILE @@FETCH_STATUS = 0
|
||
-- BEGIN
|
||
-- SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename'
|
||
-- DECLARE @ATTR_TITLE VARCHAR(100)
|
||
-- DECLARE cursorSRA CURSOR FOR
|
||
-- SELECT T3.TERM_VALUE
|
||
-- FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
|
||
-- INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T2 ON T1.GUID = T2.ATTRIBUTE_ID
|
||
-- INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID
|
||
-- WHERE T.SEARCH_PROFIL_ID = @SEARCH_ID --@SEARCH_ID
|
||
-- AND T2.LANGUAGE_ID = @LANG_ID
|
||
-- ORDER BY T.SEQUENCE
|
||
-- OPEN cursorSRA
|
||
-- FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE
|
||
-- WHILE @@FETCH_STATUS = 0
|
||
-- BEGIN
|
||
-- SET @SQL_RESULT += ', T.[' + @ATTR_TITLE + ']'
|
||
-- FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE
|
||
-- END
|
||
-- CLOSE cursorSRA
|
||
-- DEALLOCATE cursorSRA
|
||
-- SET @SQL_RESULT += ' FROM VWIDB_DOC_DATA T INNER JOIN [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@UserID,@SearchID) T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID '
|
||
-- EXEC PRIDB_NEW_TERM 'VARCHAR',@SQL_RESULT,@WHO_TERM,@TERM_ID = @MY_RESULT_SQL_TERM_ID OUTPUT;
|
||
-- PRINT @SQL_RESULT
|
||
-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_LANGUAGE_SQL_RESULT WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID)
|
||
-- INSERT INTO TBIDB_SEARCH_LANGUAGE_SQL_RESULT (SEARCH_PROFIL_ID,LANGUAGE_ID,SEARCH_TERM_ID,ADDED_WHO) VALUES
|
||
-- (@SEARCH_ID,@LANG_ID,@MY_RESULT_SQL_TERM_ID,@pWHO_TERMID)
|
||
-- ELSE
|
||
-- UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET SEARCH_TERM_ID = @MY_RESULT_SQL_TERM_ID,CHANGED_WHO = @pWHO_TERMID WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID
|
||
|
||
-- FETCH NEXT FROM cursorLang INTO @LANG_ID
|
||
-- END
|
||
-- CLOSE cursorLang
|
||
-- DEALLOCATE cursorLang
|
||
|
||
--END
|
||
--GO
|
||
--CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_USER] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pWHO_TERM_ID BIGINT
|
||
--AS
|
||
--BEGIN
|
||
-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_USER WHERE USER_ID = @pUSER_ID AND SEARCH_PROFIL_ID = @pSEARCHID)
|
||
-- INSERT INTO TBIDB_SEARCH_PROFILE_USER (USER_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pUSER_ID,@pWHO_TERM_ID,@pSEARCHID)
|
||
-- SELECT
|
||
-- GUID,USER_ID,SEARCH_PROFIL_ID
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO
|
||
-- ,ADDED_WHEN
|
||
-- FROM TBIDB_SEARCH_PROFILE_USER
|
||
-- WHERE SEARCH_PROFIL_ID = @pSEARCHID
|
||
|
||
--END
|
||
--GO
|
||
--CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_GROUP] @pSEARCHID INTEGER,@pGROUP_ID INTEGER,@pWHO_TERM_ID BIGINT
|
||
--AS
|
||
--BEGIN
|
||
-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_GROUP WHERE GROUP_ID = @pGROUP_ID AND SEARCH_PROFIL_ID = @pSEARCHID)
|
||
-- INSERT INTO TBIDB_SEARCH_PROFILE_GROUP (GROUP_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pGROUP_ID,@pWHO_TERM_ID,@pSEARCHID)
|
||
-- SELECT
|
||
-- GUID,GROUP_ID,SEARCH_PROFIL_ID
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO
|
||
-- ,ADDED_WHEN
|
||
-- FROM TBIDB_SEARCH_PROFILE_GROUP
|
||
-- WHERE SEARCH_PROFIL_ID = @pSEARCHID
|
||
|
||
--END
|
||
--GO
|
||
--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCH_PROFIL_ID INTEGER,@pATTRIBUTE_ID INTEGER,@MULTISELECT BIT, @WHO_TERM_ID INTEGER, @pSEQUENCE INTEGER,@pHEIGHT SMALLINT = 0,@pWIDTH SMALLINT = 0
|
||
--AS
|
||
--BEGIN
|
||
-- DECLARE @pWHO_USERNAME VARCHAR(100),@USER_LANGUAGE VARCHAR(5),@USER_LANGUAGE_ID INT, @ATTRTYPE as VARCHAR(20)--,@USER_ID INTEGER
|
||
-- SELECT @pWHO_USERNAME = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @WHO_TERM_ID
|
||
-- SELECT @USER_LANGUAGE = LANGUAGE,@USER_LANGUAGE_ID = T1.GUID FROM @MY_DD_ECM_DB.dbo.TBDD_USER T INNER JOIN IDB_TEST.dbo.TBIDB_LANGUAGE T1 ON T.LANGUAGE = T1.LANG_CODE WHERE UPPER(USERNAME) = UPPER(@pWHO_USERNAME)
|
||
|
||
-- SELECT @ATTRTYPE = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T INNER JOIN TBIDB_ATTRIBUTE_TYPE T1 ON T.TYP_ID = T1.GUID WHERE T.GUID = @pATTRIBUTE_ID
|
||
|
||
-- IF @ATTRTYPE IN ('VARCHAR','BIG INTEGER')
|
||
-- BEGIN
|
||
-- IF @pHEIGHT = 0
|
||
-- SET @pHEIGHT = 200
|
||
-- IF @pWIDTH = 0
|
||
-- SET @pWIDTH = 200
|
||
-- END
|
||
-- ELSE IF @ATTRTYPE ='DATE'
|
||
-- BEGIN
|
||
-- IF @pHEIGHT = 0
|
||
-- SET @pHEIGHT = 20
|
||
-- IF @pWIDTH = 0
|
||
-- SET @pWIDTH = 100
|
||
-- END
|
||
-- ELSE IF @ATTRTYPE ='BIT'
|
||
-- BEGIN
|
||
-- IF @pHEIGHT = 0
|
||
-- SET @pHEIGHT = 20
|
||
-- IF @pWIDTH = 0
|
||
-- SET @pWIDTH = 200
|
||
-- END
|
||
|
||
-- DECLARE @SOURCE_TERM_ID BIGINT,@SOURCE_DEFAULT_SQL VARCHAR(900)
|
||
-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE
|
||
-- FROM
|
||
-- TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
|
||
-- INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
|
||
-- INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
|
||
-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
-- WHERE
|
||
-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' AND TLANG.LANGUAGE_ID = ' + CONVERT(VARCHAR(3),@USER_LANGUAGE_ID) + '
|
||
-- AND OBJ.DELETED = 0 AND ACTIVE = 1'
|
||
|
||
-- --IF @pDEPENDING_ATTRIBUTE1 <> 0
|
||
-- -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@pUSER_ID) ','@pUSER_ID) where IDB_OBJECT_ID = @DEPENDING_IDB_OBJECT ')
|
||
-- --ELSE
|
||
-- -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@JOIN ','')
|
||
-- IF @ATTRTYPE = 'DATE'
|
||
-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE
|
||
-- FROM
|
||
-- TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.DATE_TERM_ID
|
||
-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
-- WHERE
|
||
-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + '
|
||
-- AND OBJ.DELETED = 0 AND ACTIVE = 1'
|
||
-- ELSE IF @ATTRTYPE = 'BIG INTEGER'
|
||
-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE
|
||
-- FROM
|
||
-- TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
|
||
-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
-- WHERE
|
||
-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + '
|
||
-- AND OBJ.DELETED = 0 AND ACTIVE = 1'
|
||
-- ELSE IF @ATTRTYPE = 'BIT'
|
||
-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT CONVERT(BIT,TERM.TERM_VALUE) AS @RESULT_TITLE
|
||
-- FROM
|
||
-- TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
|
||
-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
-- WHERE
|
||
-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + '
|
||
-- AND OBJ.DELETED = 0 AND ACTIVE = 1'
|
||
-- EXEC PRIDB_NEW_TERM 'VARCHAR',@SOURCE_DEFAULT_SQL,@pWHO_USERNAME,@TERM_ID = @SOURCE_TERM_ID OUTPUT;
|
||
-- IF @pSEQUENCE = 0
|
||
-- SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID
|
||
-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID)
|
||
-- INSERT INTO TBIDB_SEARCH_PROFILE_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SOURCE_SQL, [SEQUENCE], ADDED_WHO,HEIGHT,WIDTH,MULTISELECT)
|
||
-- VALUES (@pSEARCH_PROFIL_ID,@pATTRIBUTE_ID,@SOURCE_TERM_ID,@pSEQUENCE, @WHO_TERM_ID,@pHEIGHT,@pWIDTH,@MULTISELECT)
|
||
-- ELSE
|
||
-- BEGIN
|
||
|
||
-- UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET
|
||
-- SOURCE_SQL = @SOURCE_TERM_ID
|
||
-- ,[SEQUENCE] = @pSEQUENCE
|
||
-- ,HEIGHT = @pHEIGHT
|
||
-- ,WIDTH = @pWIDTH
|
||
-- ,MULTISELECT = @MULTISELECT
|
||
-- WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID
|
||
-- END
|
||
-- SELECT
|
||
-- T.SEARCH_PROFIL_ID,
|
||
-- T.GUID,
|
||
-- T.ATTRIBUTE_ID,
|
||
-- T1.TITLE AS ATTRIBUTE_TITLE,
|
||
-- T.MULTISELECT,
|
||
-- T.HEIGHT,
|
||
-- T.WIDTH,
|
||
-- T2.NAME_TYPE AS ATTRIBUTE_TYPE
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
|
||
-- ,T.ADDED_WHEN
|
||
-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
|
||
-- ,T.CHANGED_WHEN
|
||
-- FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
|
||
-- INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
|
||
-- WHERE T.SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID --AND ATTRIBUTE_ID = @pATTRIBUTE_ID
|
||
-- ORDER BY [SEQUENCE]
|
||
--END
|
||
--GO
|
||
-- =============================================
|
||
-- Author: DD MS
|
||
-- Create date 05.11.2020
|
||
-- =============================================
|
||
CREATE PROCEDURE [dbo].[PRIDB_NEW_TERM_FOR_ATTRIBUTE] @ATTRIBUTE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT
|
||
AS
|
||
BEGIN
|
||
DECLARE @TERM_TYPE_ID TINYINT
|
||
|
||
SELECT @TERM_TYPE_ID = TYP_ID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE)
|
||
IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE'
|
||
SET @TERM = 1
|
||
ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE'
|
||
SET @TERM = 0
|
||
--PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM
|
||
IF @TERM_TYPE_ID IN (1,8) --VARCHAR
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO)
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR where TERM_VALUE = @TERM
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)
|
||
ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO)
|
||
SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_INTEGER where TERM_VALUE = @TERM
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)
|
||
ELSE IF @TERM_TYPE_ID = 3 --FLOAT
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO)
|
||
SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_FLOAT where TERM_VALUE = @TERM
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)
|
||
ELSE IF @TERM_TYPE_ID = 4 --DECIMAL
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO)
|
||
SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DECIMAL where TERM_VALUE = @TERM
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)
|
||
ELSE IF @TERM_TYPE_ID = 5 --DATE
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM))
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO)
|
||
SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DATE where TERM_VALUE = @TERM
|
||
END
|
||
ELSE
|
||
SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
|
||
|
||
PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###'
|
||
END
|
||
GO
|
||
--CREATE PROCEDURE [dbo].[PRIDB_NEW_USER_SEARCH_CRITERIA] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pATTRIBUTE_ID INTEGER,@pTERM VARCHAR(900), @pWHO VARCHAR(100)
|
||
--AS
|
||
--BEGIN
|
||
-- DECLARE @WHO_TERM_ID BIGINT,@ATTR_TYPE INT, @ATTR_TERM_ID BIGINT,@ATTRIBUTE VARCHAR(100)
|
||
-- SELECT @ATTR_TYPE = TYP_ID,@ATTRIBUTE = TITLE FROM TBIDB_ATTRIBUTE WHERE GUID = @pATTRIBUTE_ID
|
||
-- EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
|
||
-- EXEC PRIDB_NEW_TERM_FOR_ATTRIBUTE @ATTRIBUTE,@pTERM,@pWHO,@TERM_ID = @ATTR_TERM_ID OUTPUT;
|
||
|
||
---- GUID NAME_TYPE
|
||
|
||
----3 FLOAT
|
||
----4 DECIMAL
|
||
----5 DATE
|
||
----6 DATETIME
|
||
|
||
----9 VECTOR INTEGER
|
||
-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA (SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, ADDED_WHO, TERM_TEXT, TERM_ID) VALUES
|
||
-- (@pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @WHO_TERM_ID, @pTERM, @ATTR_TERM_ID)
|
||
-- /*IF @ATTR_TYPE IN (1,2,7,8)
|
||
-- BEGIN
|
||
-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_TEXT, ADDED_WHO,TERM_ID) VALUES
|
||
-- ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @pTERM, @WHO_TERM_ID,@ATTR_TERM_ID)
|
||
-- END
|
||
-- ELSE IF @ATTR_TYPE = 5
|
||
-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_DATE, ADDED_WHO,TERM_ID) VALUES
|
||
-- ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(Date,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID)
|
||
-- ELSE IF @ATTR_TYPE = 3
|
||
-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_FLOAT, ADDED_WHO,TERM_ID) VALUES
|
||
-- ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(float,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID)
|
||
--*/
|
||
--END
|
||
--GO
|
||
--CREATE PROCEDURE [dbo].[PRIDB_SEARCH_CRITERIA_SAVE] @pSEARCHID INTEGER,@pUserID INT, @pWHO VARCHAR(100)
|
||
--AS
|
||
--BEGIN
|
||
-- DECLARE @WHO_TERM_ID BIGINT
|
||
-- EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
|
||
-- DELETE FROM TBIDB_SEARCH_CRITERIA_SAVE WHERE SEARCH_PROFIL_ID = @pSEARCHID
|
||
|
||
-- INSERT INTO [dbo].[TBIDB_SEARCH_CRITERIA_SAVE]
|
||
-- ([SEARCH_PROFIL_ID]
|
||
-- ,[ATTRIBUTE_ID]
|
||
-- ,[TERM_TEXT]
|
||
-- ,TERM_ID
|
||
-- --,[TERM_DATE]
|
||
-- --,[TERM_FLOAT]
|
||
-- --,[TERM_DEC]
|
||
-- ,[ADDED_WHO])
|
||
-- SELECT [SEARCH_PROFIL_ID]
|
||
-- ,[ATTRIBUTE_ID]
|
||
-- ,[TERM_TEXT]
|
||
-- ,TERM_ID
|
||
-- --,[TERM_DATE]
|
||
-- --,[TERM_FLOAT]
|
||
-- --,[TERM_DEC]
|
||
-- ,@WHO_TERM_ID FROM TBIDB_USER_SEARCH_CRITERIA WHERE USERID = @pUserID AND SEARCH_PROFIL_ID = @pSEARCHID
|
||
--END
|
||
--GO
|
||
-- =============================================
|
||
-- Author: DD MS 15.03.2021
|
||
-- Change date:
|
||
-- =============================================
|
||
CREATE PROCEDURE [dbo].[PRIDB_NEW_OBJECT] @KIND_TYPE VARCHAR(20),@WHO VARCHAR(100),@BE VARCHAR(500) = '',@FOREIGN_REFID Bigint = 0, @IDB_OBJ_ID BIGINT OUTPUT
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@KINDTYPE_ID TINYINT,
|
||
@BE_ID INTEGER
|
||
|
||
SELECT @KINDTYPE_ID = GUID FROM TBIDB_OBJECT_KIND WHERE UPPER(KIND_NAME) = UPPER(@KIND_TYPE)
|
||
IF @BE = ''
|
||
SELECT @BE_ID = GUID FROM TBIDB_BUSINESS_ENTITY WHERE GUID = 1
|
||
ELSE
|
||
SELECT @BE_ID = GUID FROM TBIDB_BUSINESS_ENTITY WHERE UPPER(TITLE) = UPPER(@BE)
|
||
|
||
IF @FOREIGN_REFID <> 0
|
||
IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID)
|
||
SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID
|
||
ELSE
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_OBJECT]
|
||
([KIND_TYPE_ID],[REFERENCE_KEY],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@FOREIGN_REFID,@WHO)
|
||
END
|
||
ELSE
|
||
BEGIN
|
||
INSERT INTO [dbo].[TBIDB_OBJECT]
|
||
([KIND_TYPE_ID],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@WHO)
|
||
END
|
||
SELECT @IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM TBIDB_OBJECT
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_BE WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND BE_ID = @BE_ID)
|
||
INSERT INTO TBIDB_OBJECT_BE (IDB_OBJ_ID,BE_ID, ADDED_WHO) VALUES (@IDB_OBJ_ID,@BE_ID, @WHO)
|
||
END
|
||
GO
|
||
-- =============================================
|
||
-- Author: DD MS 15.03.2021
|
||
-- Change: 13.07.2021 Filesize
|
||
-- =============================================
|
||
ALTER PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@FILE_NAME VARCHAR(200),@FILE_EXT VARCHAR(10), @FILE_SIZE BIGINT, @FILE_HASH VARCHAR(500),
|
||
@WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@FILENAME_EXT VARCHAR(250),
|
||
@RELATIVE_PATH VARCHAR(512)
|
||
|
||
--PRINT @FILENAME_ONLY
|
||
--PRINT @REL_PATH
|
||
|
||
--PRINT 'PRIDB_NEW_IDBFO - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
|
||
DECLARE @RELPATH_TERM_ID BIGINT,@EXTENSION_TERM_ID BIGINT,@FILENAME_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@REL_PATH,@WHO,@TERM_ID = @RELPATH_TERM_ID OUTPUT;
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@FILE_EXT,@WHO,@TERM_ID = @EXTENSION_TERM_ID OUTPUT;
|
||
EXEC PRIDB_NEW_TERM 'VARCHAR',@FILE_NAME,@WHO,@TERM_ID = @FILENAME_TERM_ID OUTPUT;
|
||
--SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@REL_PATH);
|
||
--SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH);
|
||
--SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH));
|
||
--PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH
|
||
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
|
||
INSERT INTO [dbo].[TBIDB_FILE_OBJECT]
|
||
([IDB_OBJ_ID]
|
||
,[OBJ_ST_ID]
|
||
,EXTENSION_TERM_ID
|
||
,RELPATH_TERM_ID
|
||
,FILENAME_TERM_ID
|
||
,FILE_SIZE
|
||
,FILE_HASH
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@OBJ_ST_ID
|
||
,@EXTENSION_TERM_ID
|
||
,@RELPATH_TERM_ID
|
||
,@FILENAME_TERM_ID
|
||
,@FILE_SIZE
|
||
,@FILE_HASH
|
||
,@WHO)
|
||
ELSE
|
||
BEGIN
|
||
--PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
|
||
UPDATE TBIDB_FILE_OBJECT SET
|
||
EXTENSION_TERM_ID = @EXTENSION_TERM_ID
|
||
,RELPATH_TERM_ID = @RELPATH_TERM_ID
|
||
,FILENAME_TERM_ID = @FILENAME_TERM_ID
|
||
,FILE_SIZE = @FILE_SIZE
|
||
,FILE_HASH = @FILE_HASH
|
||
,CHANGED_WHO = @WHO
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID
|
||
IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
|
||
BEGIN
|
||
PRINT 'PRIDB_NEW_IDBFO - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
|
||
UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
|
||
END
|
||
END
|
||
END
|
||
END
|
||
GO
|
||
|
||
-- =============================================
|
||
-- Author: DD MS
|
||
-- Creation date: 05.07.2021
|
||
-- =============================================
|
||
CREATE PROCEDURE [dbo].[PRIDB_GET_VALUE_DT] @IDB_OBJ_ID BIGINT, @LANG_CODE VARCHAR(5)
|
||
AS
|
||
DECLARE @ATTR_ID INTEGER,@ATTR_TITLE VARCHAR(100), @TYPE_NAME VARCHAR(100)
|
||
DECLARE
|
||
@TBRESULT TABLE (AttributID INT, AttributTitle VARCHAR(100), AttributType VARCHAR(100),ValueBigInt BIGINT, ValueText Varchar(912), ValueDec Decimal(19,2), ValueDate Date,
|
||
ADDED_WHEN DATETIME, CHANGED_WHEN DATETIME)
|
||
|
||
DECLARE cursorAttributes CURSOR LOCAL FOR
|
||
SELECT A.ATTR_ID, B.ATTR_TITLE, B.TYPE_NAME FROM TBIDB_OBJECT_METADATA A INNER JOIN VWIDB_BE_ATTRIBUTE B On A.ATTR_ID = B.ATTR_ID
|
||
WHERE A.IDB_OBJ_ID = @IDB_OBJ_ID AND B.LANG_CODE = @LANG_CODE
|
||
OPEN cursorAttributes
|
||
FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
PRINT CONVERT(VARCHAR(2),@ATTR_ID) + '#' + @TYPE_NAME + '#' + @ATTR_TITLE
|
||
IF @TYPE_NAME IN ('VARCHAR','VECTOR STRING')
|
||
INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueText,ADDED_WHEN,CHANGED_WHEN)
|
||
select
|
||
@ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
|
||
from
|
||
TBIDB_OBJECT_METADATA T
|
||
WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
|
||
ELSE IF @TYPE_NAME IN ('BIT','BIG INTEGER')
|
||
INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueBigInt,ADDED_WHEN,CHANGED_WHEN)
|
||
select
|
||
@ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_INTEGER] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
|
||
from
|
||
TBIDB_OBJECT_METADATA T
|
||
WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
|
||
ELSE IF @TYPE_NAME = 'DATE'
|
||
INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDate,ADDED_WHEN,CHANGED_WHEN)
|
||
select
|
||
@ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DATE] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
|
||
from
|
||
TBIDB_OBJECT_METADATA T
|
||
WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
|
||
ELSE IF @TYPE_NAME = 'DECIMAL'
|
||
INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDec,ADDED_WHEN,CHANGED_WHEN)
|
||
select
|
||
@ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DECIMAL] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
|
||
from
|
||
TBIDB_OBJECT_METADATA T
|
||
WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
|
||
FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME
|
||
END
|
||
CLOSE cursorAttributes
|
||
DEALLOCATE cursorAttributes
|
||
SELECT * FROM @TBRESULT order BY AttributID,ADDED_WHEN
|
||
GO
|
||
-- =============================================
|
||
-- Author: Digital Data, MS
|
||
-- Create date: 12.10.2021
|
||
-- =============================================
|
||
CREATE PROCEDURE [dbo].[PRIDB_GET_ATTRIBUTE_VALUE] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100), @LANG_CODE VARCHAR(5), @VALUE VARCHAR(MAX) OUTPUT
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@ATTR_ID INTEGER,
|
||
@TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@LANG_ID INT
|
||
|
||
IF NOT EXISTS(SELECT ATTR_ID FROM VWIDB_BE_ATTRIBUTE WHERE ATTR_TITLE = @ATTRIBUTE AND LANG_CODE = @LANG_CODE)
|
||
RAISERROR ('NO VALID ATTRIBUTE',16,1)
|
||
|
||
SELECT @ATTR_ID = ATTR_ID, @TYP_ID = TYPE_ID, @TYP_DESCR = TYPE_NAME,@LANG_ID = LANG_ID
|
||
FROM VWIDB_BE_ATTRIBUTE
|
||
WHERE ATTR_TITLE = @ATTRIBUTE AND LANG_CODE = @LANG_CODE
|
||
|
||
IF @TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN
|
||
select
|
||
@VALUE = TERM.TERM_VALUE
|
||
FROM
|
||
IDB.dbo.TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN IDB.dbo.TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
|
||
INNER JOIN IDB.dbo.TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
|
||
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
OBJ.DELETED = 0 AND
|
||
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
|
||
MD.ATTR_ID = @ATTR_ID AND TLANG.LANGUAGE_ID = @LANG_ID
|
||
END
|
||
ELSE IF @TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN
|
||
select
|
||
@VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
|
||
FROM
|
||
IDB.dbo.TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
|
||
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
OBJ.DELETED = 0 AND
|
||
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
|
||
MD.ATTR_ID = @ATTR_ID
|
||
END
|
||
ELSE IF @TYP_ID = 3 --FLOAT
|
||
BEGIN
|
||
select
|
||
@VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
|
||
FROM
|
||
IDB.dbo.TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
|
||
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
OBJ.DELETED = 0 AND
|
||
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
|
||
MD.ATTR_ID = @ATTR_ID
|
||
END
|
||
ELSE IF @TYP_ID = 4 --DECIMAL
|
||
BEGIN
|
||
select
|
||
@VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
|
||
FROM
|
||
IDB.dbo.TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
|
||
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
OBJ.DELETED = 0 AND
|
||
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
|
||
MD.ATTR_ID = @ATTR_ID
|
||
END
|
||
ELSE IF @TYP_ID = 5 --DATE
|
||
BEGIN
|
||
select
|
||
@VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
|
||
FROM
|
||
IDB.dbo.TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
|
||
INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
|
||
WHERE
|
||
OBJ.DELETED = 0 AND
|
||
MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
|
||
MD.ATTR_ID = @ATTR_ID
|
||
END
|
||
END
|
||
GO
|
||
CREATE PROCEDURE [dbo].[PRIDB_REPLACE_ATTRIBUTE_DATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @OLD_TERM VARCHAR(900), @NEW_TERM VARCHAR(900),@LANGUAGE VARCHAR(5), @WHO VARCHAR(100)
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@UPD_GUID BIGINT,
|
||
@ATTR_ID INTEGER,
|
||
@ATTR_TYP_ID TINYINT,
|
||
@TYP_DESCR VARCHAR(100),
|
||
@MULTI BIT,
|
||
@TEXT_TERM_LANG_ID BIGINT,
|
||
@TERM_ID BIGINT,
|
||
@USER_DELETE_ID INTEGER,
|
||
@ERROR as BIT,
|
||
@LANGUAGE_ID TINYINT
|
||
PRINT 'IN PRIDB_REPLACE_ATTRIBUTE_DATA...'
|
||
SET @ERROR = 0
|
||
SELECT @USER_DELETE_ID = COALESCE(MAX(USER_DELETE_ID),0) + 1 FROM TBIDB_OBJECT_METADATA_DELETE WHERE UPPER(DELETED_WHO) = UPPER(@WHO)
|
||
SELECT @LANGUAGE_ID = GUID FROM TBIDB_LANGUAGE WHERE UPPER(LANG_CODE) = UPPER(@LANGUAGE)
|
||
SELECT @ATTR_ID = T.GUID, @ATTR_TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
|
||
WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
|
||
|
||
DECLARE @MY_OLD_TERM_ID BIGINT, @MY_OLD_LANG_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM @TYP_DESCR,@OLD_TERM,@WHO,@TERM_ID = @MY_OLD_TERM_ID OUTPUT;
|
||
DECLARE @MY_NEW_TERM_ID BIGINT
|
||
EXEC PRIDB_NEW_TERM @TYP_DESCR,@NEW_TERM,@WHO,@TERM_ID = @MY_NEW_TERM_ID OUTPUT;
|
||
IF @ATTR_TYP_ID IN (1,8) --VARCHAR
|
||
BEGIN TRY
|
||
SELECT @MY_OLD_LANG_TERM_ID = GUID FROM TBIDB_TERM_LANGUAGE WHERE TEXT_TERM_ID = @MY_OLD_TERM_ID AND LANGUAGE_ID = @LANGUAGE_ID
|
||
Print '@MY_OLD_LANG_TERM_ID: ' + Convert(Varchar(10),@MY_OLD_LANG_TERM_ID)
|
||
IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE TEXT_TERM_ID = @MY_NEW_TERM_ID AND LANGUAGE_ID = @LANGUAGE_ID)
|
||
BEGIN
|
||
INSERT INTO TBIDB_TERM_LANGUAGE(LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANGUAGE_ID,@MY_NEW_TERM_ID,@WHO)
|
||
END
|
||
UPDATE TBIDB_OBJECT_METADATA SET TEXT_TERM_LANG_ID = (SELECT MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE TEXT_TERM_ID = @MY_NEW_TERM_ID AND LANGUAGE_ID = @LANGUAGE_ID), CHANGED_WHO = @WHO
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND TEXT_TERM_LANG_ID = @MY_OLD_LANG_TERM_ID AND ATTR_ID = @ATTR_ID
|
||
END TRY
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE UPDATING FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
|
||
ELSE IF @ATTR_TYP_ID IN (2,7,9) --BIGINT
|
||
BEGIN TRY
|
||
DECLARE cursor_REPLACE CURSOR LOCAL FOR
|
||
SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.INT_TERM_ID = @MY_OLD_TERM_ID
|
||
OPEN cursor_REPLACE
|
||
FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
UPDATE TBIDB_OBJECT_METADATA SET INT_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID
|
||
|
||
FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
|
||
END
|
||
CLOSE cursor_REPLACE
|
||
DEALLOCATE cursor_REPLACE
|
||
|
||
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (INTEGER) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
ELSE IF @ATTR_TYP_ID = 3 --FLOAT
|
||
BEGIN TRY
|
||
DECLARE cursor_REPLACE CURSOR LOCAL FOR
|
||
SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.FLOAT_TERM_ID = @MY_OLD_TERM_ID
|
||
OPEN cursor_REPLACE
|
||
FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
UPDATE TBIDB_OBJECT_METADATA SET FLOAT_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID
|
||
FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
|
||
END
|
||
CLOSE cursor_REPLACE
|
||
DEALLOCATE cursor_REPLACE
|
||
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (FLOAT) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
ELSE IF @ATTR_TYP_ID = 4 --DECIMAL
|
||
BEGIN TRY
|
||
DECLARE cursor_REPLACE CURSOR LOCAL FOR
|
||
SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.DEC_TERM_ID = @MY_OLD_TERM_ID
|
||
OPEN cursor_REPLACE
|
||
FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
UPDATE TBIDB_OBJECT_METADATA SET DEC_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID
|
||
FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
|
||
END
|
||
CLOSE cursor_REPLACE
|
||
DEALLOCATE cursor_REPLACE
|
||
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (DECIMAL) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
ELSE IF @ATTR_TYP_ID = 5 --DATE
|
||
BEGIN TRY
|
||
DECLARE cursor_REPLACE CURSOR LOCAL FOR
|
||
SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.DATE_TERM_ID = @MY_OLD_TERM_ID
|
||
OPEN cursor_REPLACE
|
||
FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
UPDATE TBIDB_OBJECT_METADATA SET DATE_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID
|
||
FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
|
||
END
|
||
CLOSE cursor_REPLACE
|
||
DEALLOCATE cursor_REPLACE
|
||
|
||
END TRY
|
||
|
||
BEGIN CATCH
|
||
PRINT 'ERROR WHILE DELETING (DATE) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
|
||
+ ' - ERROR-MESSAGE: '
|
||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||
SET @ERROR = 1
|
||
END CATCH
|
||
--IF @ERROR = 0
|
||
-- BEGIN
|
||
-- UPDATE TBIDB_ATTRIBUTE SET DELETED = 1, DELETED_WHO = @WHO WHERE GUID = @ATTR_ID;
|
||
-- END
|
||
END
|
||
GO
|
||
|
||
-- =============================================
|
||
-- Author: DD MS
|
||
-- Changed: 01.11.2021 MS TERM_COLUMNS
|
||
-- Changed: 10.08.2020 MS Anpassung
|
||
-- =============================================
|
||
CREATE PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT
|
||
AS
|
||
BEGIN
|
||
DECLARE
|
||
@SHARE_PATH VARCHAR(100),
|
||
@OBJ_STORE_PATH VARCHAR(250),
|
||
@NEW_FULL_PATH VARCHAR(512),
|
||
@FILENAME_EXT VARCHAR(250),
|
||
@FILENAME_ONLY VARCHAR(250),
|
||
@RELATIVE_PATH VARCHAR(512),
|
||
@RELATIVE_PATH_ONLY VARCHAR(512),
|
||
@EXT VARCHAR(10)
|
||
|
||
SELECT
|
||
@SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH
|
||
FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID
|
||
SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH)
|
||
SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','')
|
||
SET @RELATIVE_PATH = UPPER(@REL_PATH)
|
||
PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH
|
||
PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH
|
||
|
||
--SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH);
|
||
--PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
|
||
|
||
SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH);
|
||
SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH);
|
||
SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH));
|
||
SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'')
|
||
PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY
|
||
DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT
|
||
EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT
|
||
EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT
|
||
--PRINT '@EXT: ' + @EXT
|
||
--IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH)
|
||
EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT;
|
||
PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID)
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
|
||
INSERT INTO [dbo].[TBIDB_DOC_INFO]
|
||
([IDB_OBJ_ID]
|
||
,[OBJ_ST_ID]
|
||
,[FILENAME_ONLY]
|
||
,RELATIVE_PATH
|
||
,RELATIVE_PATH_ONLY_TERM
|
||
,EXTENSION_TERM
|
||
,[ADDED_WHO])
|
||
VALUES
|
||
(@IDB_OBJ_ID
|
||
,@OBJ_ST_ID
|
||
,@FILENAME_ONLY
|
||
,@RELATIVE_PATH
|
||
,@RELATIVE_PATH_ONLY_TERM
|
||
,@EXTENSION_TERM
|
||
,@WHO)
|
||
ELSE
|
||
BEGIN
|
||
PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
|
||
UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY
|
||
,@EXTENSION_TERM = @EXTENSION_TERM
|
||
,[RELATIVE_PATH] = @RELATIVE_PATH
|
||
,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM
|
||
,CHANGED_WHO = @WHO
|
||
WHERE IDB_OBJ_ID = @IDB_OBJ_ID
|
||
IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
|
||
BEGIN
|
||
PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
|
||
UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
|
||
END
|
||
END
|
||
END
|
||
END
|
||
GO
|
||
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('Doctype',1,1);
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginFileName',1,1);
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginCreationDatetime',6,1);
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginChangedDatetime',6,1);
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('DisplayFileName',1,1);
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('DisplayFileName1',1,0);
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailMessageID',1,1);
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailSubject',1,1);
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailFrom',1,1);
|
||
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailDate',5,1);
|
||
|
||
INSERT INTO TBIDB_BE_ATTRIBUTE (BE_ID,ATTR_ID,DEFAULT_SEARCH_ATTRIBUTE) SELECT 1,GUID, 1 FROM TBIDB_ATTRIBUTE ;
|
||
|
||
GO
|