sync
This commit is contained in:
133
paul_snippets/CreateStuff/Create Table Code with Descr.sql
Normal file
133
paul_snippets/CreateStuff/Create Table Code with Descr.sql
Normal file
@@ -0,0 +1,133 @@
|
||||
USE <database, sysname, DB>
|
||||
GO
|
||||
|
||||
-- drop both CodeDes and Code tables
|
||||
IF OBJECT_ID('<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des', 'U') IS NOT NULL
|
||||
BEGIN
|
||||
DROP TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>', 'U') IS NOT NULL
|
||||
BEGIN
|
||||
DROP TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>
|
||||
END
|
||||
GO
|
||||
|
||||
-- ** CODE TABLE ** --
|
||||
-- create Code table
|
||||
CREATE TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>
|
||||
(
|
||||
<table_suffix, sysname, CoTbl>_PK int IDENTITY(1,1) NOT NULL,
|
||||
Code nvarchar(x) NOT NULL,
|
||||
Sort int NOT NULL,
|
||||
IsActive bit NOT NULL,
|
||||
|
||||
Db_Status nvarchar(1) NOT NULL,
|
||||
Db_InsDt smalldatetime NOT NULL,
|
||||
Db_InsUser nvarchar(50) NOT NULL,
|
||||
Db_UpdDt smalldatetime NULL,
|
||||
Db_UpdUser nvarchar(50) NULL,
|
||||
Db_Timestamp timestamp NOT NULL,
|
||||
|
||||
CONSTRAINT PK_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl> PRIMARY KEY CLUSTERED(<table_suffix, sysname, CoTbl>_PK ASC)
|
||||
)
|
||||
GO
|
||||
|
||||
-- define update trigger
|
||||
CREATE TRIGGER ut_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl> ON <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl> AFTER UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>
|
||||
SET Db_UpdDt = getdate(),
|
||||
Db_UpdUser = right(suser_sname(), 50),
|
||||
Db_Status = CASE WHEN isnull(i.Db_Status, '') = 'D' THEN 'D' ELSE 'U' END
|
||||
FROM inserted i
|
||||
WHERE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>.<table_suffix, sysname, CoTbl>_PK = i.<table_suffix, sysname, CoTbl>_PK
|
||||
END
|
||||
GO
|
||||
|
||||
-- set unique index on Code
|
||||
CREATE UNIQUE NONCLUSTERED INDEX IX_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>__Unique_Code ON <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl> (Code ASC)
|
||||
GO
|
||||
|
||||
-- set default-value constraints
|
||||
ALTER TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl> ADD
|
||||
CONSTRAINT DF_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>_IsActive
|
||||
DEFAULT ((1)) FOR IsActive
|
||||
|
||||
ALTER TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl> ADD
|
||||
CONSTRAINT DF_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>_DbStatus
|
||||
DEFAULT ('I') FOR Db_Status
|
||||
|
||||
ALTER TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl> ADD
|
||||
CONSTRAINT DF_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>_DbInsDt
|
||||
DEFAULT (getdate()) FOR Db_InsDt
|
||||
|
||||
ALTER TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl> ADD
|
||||
CONSTRAINT DF_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>_DbInsUser
|
||||
DEFAULT (right(suser_sname(),(50))) FOR Db_InsUser
|
||||
GO
|
||||
-- ** CODE TABLE ** --
|
||||
|
||||
|
||||
|
||||
-- ** DESCRIPTION TABLE ** --
|
||||
-- create CodeDes table
|
||||
CREATE TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des
|
||||
(
|
||||
<table_suffix, sysname, CoTbl>Des_PK int IDENTITY(1,1) NOT NULL,
|
||||
<table_suffix, sysname, CoTbl>_FK int NOT NULL,
|
||||
Lang nvarchar(2) NOT NULL,
|
||||
Descr nvarchar(max) NULL,
|
||||
|
||||
Db_Status nvarchar(1) NOT NULL,
|
||||
Db_InsDt smalldatetime NOT NULL,
|
||||
Db_InsUser nvarchar(50) NOT NULL,
|
||||
Db_UpdDt smalldatetime NULL,
|
||||
Db_UpdUser nvarchar(50) NULL,
|
||||
Db_Timestamp timestamp NOT NULL,
|
||||
|
||||
CONSTRAINT PK_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des PRIMARY KEY CLUSTERED(<table_suffix, sysname, CoTbl>Des_PK ASC)
|
||||
)
|
||||
GO
|
||||
|
||||
-- define update trigger
|
||||
CREATE TRIGGER ut_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des ON <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des AFTER UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des
|
||||
SET Db_UpdDt = getdate(),
|
||||
Db_UpdUser = right(suser_sname(), 50),
|
||||
Db_Status = CASE WHEN isnull(i.Db_Status, '') = 'D' THEN 'D' ELSE 'U' END
|
||||
FROM inserted i
|
||||
WHERE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des.<table_suffix, sysname, CoTbl>Des_PK = i.<table_suffix, sysname, CoTbl>Des_PK
|
||||
END
|
||||
GO
|
||||
|
||||
-- set default-value constraints
|
||||
ALTER TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des ADD
|
||||
CONSTRAINT DF_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des_DbStatus
|
||||
DEFAULT ('I') FOR Db_Status
|
||||
|
||||
ALTER TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des ADD
|
||||
CONSTRAINT DF_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des_DbInsDt
|
||||
DEFAULT (getdate()) FOR Db_InsDt
|
||||
|
||||
ALTER TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des ADD
|
||||
CONSTRAINT DF_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des_DbInsUser
|
||||
DEFAULT (right(suser_sname(),(50))) FOR Db_InsUser
|
||||
GO
|
||||
|
||||
-- set foreign-key constraints
|
||||
ALTER TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des WITH CHECK ADD
|
||||
CONSTRAINT FK_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des__<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>
|
||||
FOREIGN KEY(<table_suffix, sysname, CoTbl>_FK)
|
||||
REFERENCES <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl> (<table_suffix, sysname, CoTbl>_PK)
|
||||
|
||||
ALTER TABLE <table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des
|
||||
CHECK CONSTRAINT FK_<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>Des__<table_prefix, sysname, TBL>_<table_suffix, sysname, CoTbl>
|
||||
GO
|
||||
|
||||
-- ** DESCRIPTION TABLE ** --
|
||||
|
||||
24
paul_snippets/CreateStuff/generic ut_trigger.sql
Normal file
24
paul_snippets/CreateStuff/generic ut_trigger.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
USE Product__Work
|
||||
GO
|
||||
-- SELECT name, ROW_NUMBER() OVER(ORDER BY name) AS TblNr FROM sys.tables WHERE name LIKE 'DocumedisCache%' ORDER BY Name
|
||||
|
||||
-- create PK
|
||||
ALTER TABLE dbo.<tableName, sysname, TBL>
|
||||
ADD CONSTRAINT PK_<tableName, sysname, TBL> PRIMARY KEY CLUSTERED
|
||||
( ASC) ON [DATA]
|
||||
GO
|
||||
|
||||
-- define update trigger
|
||||
CREATE TRIGGER ut_<tableName, sysname, TBL> ON dbo.<tableName, sysname, TBL> AFTER UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE dbo.<tableName, sysname, TBL>
|
||||
SET Db_UpdDt = GETDATE(),
|
||||
Db_UpdUser = RIGHT(SUSER_SNAME(), 50)
|
||||
FROM inserted i
|
||||
WHERE <tableName, sysname, TBL>.IdPk = i.IdPk
|
||||
AND
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
Reference in New Issue
Block a user