Access
 sql >> база данни >  >> RDS >> Access

Вмъкнете CreatedBy и CreatedOn във всички таблици с липсващи данни в SQL

Вмъкнете CreatedBy и CreatedOn във всички липсващи таблици с данни в SQL

Когато проектираме Access с решения на SQL Server, ние почти винаги добавяме CreatedBy и CreatedOn към всички наши таблици, което позволява на нашите клиенти да видят кой е създал записи във интерфейса на Access.

Скрипт за автоматично добавяне на CreatedBy и CreatedOn към таблици

Много пъти ние наследяваме SQL бази данни и се нуждаем от бърз начин да добавим и двете полета към всички таблици в базата данни. За тази цел използваме следния скрипт, който ще провери дали CreatedBy и CreatedOn присъстват в таблицата и ако не са, добавете ги:
DECLARE @ROWID Int
DECLARE @SQLExecute Varchar(max)
DECLARE @Table_Name VARCHAR(Max)
DECLARE @Qty Int
SET @rowid = 0
SET @Table_Name = ''
DECLARE grant_tbl_cursor CURSOR FOR
SELECT  Table_Name
FROM tblTablePermissions
OPEN grant_tbl_cursor
FETCH NEXT FROM grant_tbl_cursor
INTO @Table_Name
WHILE @@FETCH_STATUS = 0
BEGIN
IF COL_LENGTH(@Table_Name, 'CreatedOn') IS NULL
BEGIN
/*Column does not exist or caller does not have permission to view the object*/
select @sqlExecute = 'alter table [' + @Table_Name + '] add CreatedOn DateTime2(0) DEFAULT CURRENT_TIMESTAMP NULL' 
PRINT @SQLExecute
EXECUTE( @sqlExecute)
END
IF COL_LENGTH(@Table_Name, 'CreatedBy') IS NULL
BEGIN
select @sqlExecute = 'alter table [' + @Table_Name + '] add CreatedBy Varchar(25) DEFAULT suser_sname() NULL' 
EXECUTE( @sqlExecute)
End
FETCH NEXT FROM grant_tbl_cursor
INTO @Table_Name
END
CLOSE grant_tbl_cursor
DEALLOCATE grant_tbl_cursor

Скриптът чете от tblTablePermissions, което е просто списък с таблици на SQL Server, използвани от приложението. Използваме таблицата в нашата техника без DSN.

След като изпълните скрипта, SQL Server автоматично ще маркира дата и ще постави името на мрежата на потребителя в полето CreatedBy, което ви позволява да създадете анализ за това колко нови записи са били добавени към базата данни и от кого с течение на времето.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съвети и трикове за Microsoft Access, част 2 – Формуляри

  2. Как да добавите лого към заглавка на формуляр в Microsoft Access

  3. Статични функции и подп

  4. 7 начина, по които Microsoft Access може да помогне на вашия бизнес

  5. Какво е новото в Access 2016? Заслужава ли си надграждане?