0
こんにちは。SQL Serverで更新された列を並べ替える
私はこのようになりますSQLサーバーのテーブルのデザインがあります。この表で
NAME AGE WORK BIRTH TEST 21 NONE 12/12/2000
を、私はテーブルの更新時にトリガーを作成し、監査ログテーブルにデータを保存します。この監査ログテーブルには、更新される値と更新された列が格納されます。ここでは、更新された列を取得するクエリスニペットがあります。私はまた、彼女のスタックにこのクエリを取得します。
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
今私の監査ログ表には、次のようになります。
OLD NEW COLUMNS_UPDATED tEST,21,NONE TEST2,20,TEACHER AGE,NAME,WORK
今私の問題は、私はまた、設計テーブルのように見えるその更新列をソートできるか、です。私の好みの出力は次のようになります。
OLD NEW COLUMNS_UPDATED tEST,21,NONE TEST2,20,TEACHER NAME,AGE,WORK
私は誰でもこれを手伝ってくれることを願っています。おかげさまで
それは動作しません。 – user3312649