2017-05-12 4 views
0

Hallo guten Tag alle.Sortieren der aktualisierten Spalten in Sql Server

Ich habe eine Tabelle Design in SQL Server, der wie folgt aussieht:

 
NAME  AGE  WORK   BIRTH 
TEST  21  NONE   12/12/2000 

In dieser Tabelle habe ich einen Trigger erstellten Tabelle auf der Aktualisierung und würde die Daten speichern, um Audit-Tabelle protokollieren. Diese Audit-Log-Tabelle enthält den zu aktualisierenden Wert und die Spalten, die aktualisiert wurden. Ich habe hier ein Abfrage-Snippet, das die Spalten aktualisiert, die aktualisiert wurden. Ich bekomme diese Abfrage auch auf Stack.

DECLARE @idTable INT 
SELECT @idTable = T.id 
FROM sysobjects P JOIN sysobjects T ON P.parent_obj = T.id 
WHERE P.id = @@procid 

-- Get COLUMNS_UPDATED if update 
-- 
DECLARE @Columns_Updated VARCHAR(50) 


SELECT @Columns_Updated = ISNULL(@Columns_Updated + ', ', '') + name 
FROM syscolumns 
WHERE id = @idTable 
AND  CONVERT(VARBINARY,REVERSE(COLUMNS_UPDATED())) & POWER(CONVERT(BIGINT, 2), colorder - 1) > 0 

Nun meine Audit-Log-Tabelle sieht wie folgt aus:

 
OLD    NEW     COLUMNS_UPDATED 
tEST,21,NONE TEST2,20,TEACHER AGE,NAME,WORK 

Nun mein Problem ist, wie ich die Spalten sortieren können aktualisiert, die wie auch das Design Tabelle aussieht. Meine bevorzugte Ausgabe sollte so aussehen.

 
OLD    NEW     COLUMNS_UPDATED 
tEST,21,NONE TEST2,20,TEACHER NAME,AGE,WORK 

Ich hoffe, dass mir jemand dabei helfen konnte. Danke.

Antwort

0

Versuchen:

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'myTable' 
ORDER BY ORDINAL_POSITION 
+0

es nicht funktioniert – user3312649

Verwandte Themen