MSSQL Server からデータを取得するためのクエリ ブロックがあります。クエリには、毎日のフィードをインポートするために毎日変更する必要があるハードコーディングされた日付値が含まれています。この実行を自動化する必要があります。現在、クエリを実行するために cloverETL を使用しています。クエリは次のとおりです (sharepoint アクティビティ データを取得するためのクエリです)。
use
DocAve_AuditDB;
DECLARE
@ParameterValue VARCHAR(100),
@SQL
VARCHAR(MAX)
SET
@SQL = STUFF((SELECT 'UNION ALL SELECT COL_ItemTypeName, COL_UserName, COL_MachineIp, COL_DocLocation, DATEADD(SECOND, COL_Occurred / 1000, ''19700101 00:00'') as Date_Occurred, COL_EventAction FROM '+ TABLE_NAME + ' WHERE DATEADD(SECOND, COL_Occurred / 1000, ''19700101 00:00'') BETWEEN '+ '''20120515'''+ 'AND' + '''20120516'''+ 'AND ' + 'COL_ItemTypeName='+ '''Document''' AS 'data()'
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_NAME LIKE '%2012_05%'
FOR
XML PATH('')),1,10,'')
EXEC
(@SQL)
上記のブロックでは、TABLE_NAME LIKE パラメータ、つまり %2012_05% を現在のデータから取得した変数にし、また between 句の日付値にしたい
BETWEEN '+ '''20120515'''+ 'AND' + '''20120516''' は、今日の日付-1 と今日の日付になります
これを処理するための小さなJavaプログラムを作成する必要がありますか、それともクエリ自体で直接行うことができますか? はいの場合、どのように?
前もって感謝します