
-- autoaudit v2 
-- options testing 

USE Adventureworks2008

go --------------------------------------------------------------------------------------------

EXEC pAutoAudit @SchemaName = 'HumanResources', 
                @TableName = 'Department',
                @StrictUserContext = 0,
                @LogSQL = 0,
                @BaseTableDDL = 1
                
go --------------------------------------------------------------------------------------------
-- INSERT TEST 

-- INSERT NO user context  
INSERT HumanResources.Department (Name, GroupName)
  VALUES ('DBA', 'IT')
  
-- INSERT WITH user context
INSERT HumanResources.Department (Name, GroupName, Created, createdby, Modified, modifiedby)
  VALUES ('DBA3', 'IT', '1900-01-01', 'createguy', '1959-01-01', 'modifyguy' )
  
SELECT * FROM HumanResources.Department WHERE DepartmentID >= 17

SELECT * FROM dbo.Audit

go --------------------------------------------------------------------------------------------
-- UPDATE TEST

-- UPDATE NO user context 
UPDATE HumanResources.Department
  SET Name = 'NoUserName'
  WHERE DepartmentID = 17  
 
UPDATE HumanResources.Department
  SET Name = 'StillNoUserName'
  WHERE DepartmentID = 17  

  
--UPDATE WITH specify user context
UPDATE HumanResources.Department
  SET Name = 'Newer name',
      GroupName = 'G2',
      Created = '1999-12-21',
      CreatedBy = 'EditedCreatedBy',
      Modified = '1999-12-22',
      ModifiedBy = 'UpdatingUser'
  WHERE DepartmentID = 18 
  
UPDATE HumanResources.Department
  SET Name = 'Newest name',
      Created = '2002-09-26',
      CreatedBy = 'EditedCreatedBy2',
      Modified = '2010-06-25',
      ModifiedBy = 'UpdatingUser2'
  WHERE DepartmentID = 18   

SELECT * FROM HumanResources.Department WHERE DepartmentID >= 17

SELECT * FROM dbo.Audit

SELECT * FROM HumanResources.Department_RowHistory(17)

go --------------------------------------------------------------------------------------------
-- DELETE TEST

-- pre-delete touch 
UPDATE HumanResources.Department
  SET ModifiedBy = 'DeletingUser'
  WHERE DepartmentID = 17   

-- DELETE 
DELETE HumanResources.Department   
  WHERE DepartmentID = 17   

SELECT * FROM HumanResources.Department WHERE DepartmentID = 17 

SELECT * FROM audit

SELECT * FROM HumanResources.vDepartment_Deleted



