Access
 sql >> Baza danych >  >> RDS >> Access

Wstaw CreatedBy i CreatedOn w dowolnych brakujących tabelach danych w SQL

Wstaw CreatedBy i CreatedOn we wszystkich brakujących tabelach danych w SQL

Kiedy projektujemy Access z rozwiązaniami SQL Server, prawie zawsze dodajemy CreatedBy i CreatedOn do wszystkich naszych tabel, pozwalając naszym klientom zobaczyć, kto utworzył rekordy w interfejsie Access.

Skrypt do automatycznego dodawania CreatedBy i CreatedOn do tabel

Wiele razy dziedziczymy bazy danych SQL i potrzebujemy szybkiego sposobu na dodanie obu pól do wszystkich tabel w bazie danych. W tym celu skorzystamy z poniższego skryptu, który sprawdzi, czy w tabeli występują CreatedBy i CreatedOn, a jeśli ich nie ma, dodaj je:
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

Skrypt odczytuje z tblTablePermissions, która jest po prostu listą tabel SQL Server używanych przez aplikację. Używamy tabeli w naszej technice DSNless.

Po wykonaniu skryptu SQL Server automatycznie datuje i umieszcza nazwę sieciową użytkownika w polu CreatedBy, co pozwala na stworzenie analizy, ile nowych rekordów zostało dodanych do bazy danych i przez kogo w czasie.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jakie są 10 najlepszych funkcji programu Microsoft Access?

  2. Znajdź wszystkie zapytania korzystające z określonej tabeli

  3. 10 wskazówek Microsoft Access dotyczących tworzenia wybranych zapytań

  4. Dostęp za pomocą Microsoft SQL Server — importuj duże zbiory danych za pomocą SSIS

  5. Piękne bloki kotła