0

クエリに基づいてレコードが見つからない場合、この挿入ステートメントでタイムスタンプ付きの空白行または行をすべて 0 に挿入する方法はありますか? これを使用してトレンド データをグラフに表示していますが、このグラフを最新の状態に保つためにデータが返されなくても、タイムスタンプ付きのレコードが必要です。

クエリ:

 SELECT DISTINCT "SEM_AGENT"."DELETED"
  ,"PATTERN"."VERSION" 
  ,"PATTERN"."PATTERNDATE"
  ,"SEM_AGENT"."AGENT_VERSION"
  ,"SEM_CLIENT"."COMPUTER_NAME" "Computer Name"
  , "SEM_COMPUTER"."OPERATION_SYSTEM" "Operation System"
  ,dateadd(s,convert(bigint,"SEM_AGENT"."CREATION_TIME")/1000,'01-01-1970 00:00:00')     CREATION_DTTM
  , dateadd(s,convert(bigint,"SEM_AGENT"."LAST_UPDATE_TIME")/1000,'01-01-1970 00:00:00') Lastupdatetime
  , DATEADD(s, convert(bigint,LAST_SCAN_TIME)/1000, '01-01-1970 00:00:00')"Last Scan Time"
  , "PATTERN"."PATTERNDATE" "Pattern Date"
  , "SEM_CLIENT"."USER_NAME" "User Name"
  , "V_SEM_COMPUTER"."IP_ADDR1_TEXT" "IP Address"
  , "IDENTITY_MAP"."NAME" "Group Name"
FROM (((("SEM_AGENT" "SEM_AGENT" INNER JOIN "SEM_CLIENT" "SEM_CLIENT" 
  ON (("SEM_AGENT"."COMPUTER_ID"="SEM_CLIENT"."COMPUTER_ID") 
  AND ("SEM_AGENT"."DOMAIN_ID"="SEM_CLIENT"."DOMAIN_ID")) 
  AND ("SEM_AGENT"."GROUP_ID"="SEM_CLIENT"."GROUP_ID")) INNER JOIN "SEM_COMPUTER"   "SEM_COMPUTER" 
  ON (("SEM_AGENT"."COMPUTER_ID"="SEM_COMPUTER"."COMPUTER_ID") 
  AND ("SEM_AGENT"."DOMAIN_ID"="SEM_COMPUTER"."DOMAIN_ID")) 
  AND ("SEM_AGENT"."DELETED"="SEM_COMPUTER"."DELETED")) INNER JOIN "PATTERN" "PATTERN" 
  ON "SEM_AGENT"."PATTERN_IDX"="PATTERN"."PATTERN_IDX") INNER JOIN "IDENTITY_MAP"   "IDENTITY_MAP" 
  ON "SEM_CLIENT"."GROUP_ID"="IDENTITY_MAP"."ID") INNER JOIN "V_SEM_COMPUTER"   "V_SEM_COMPUTER" 
  ON "SEM_COMPUTER"."COMPUTER_ID"="V_SEM_COMPUTER"."COMPUTER_ID" 
  AND "SEM_AGENT"."DELETED"=0
WHERE Pattern.Patterndate < (select max(Patterndate) -2 from Pattern)
AND SEM_COMPUTER.OPERATION_SYSTEM NOT LIKE '%2000%'
ORDER BY "Computer Name"

入れる:

INSERT INTO av_internal (device_type, ip_address, user_tag, VERSION,     Computer_Name, Operation_System, Pattern_Date)

VALUES ("@Data.device_type~", "@Data.ip_address~", "@Data.user_tag~",    "@Data.VERSION~", "@Data.Computer_x0020_Name~", "@Data.Operation_x0020_System~", "@Data.PATTERNDATE~")

create table ステートメントは次のとおりです。

'av_Internal', 'CREATE TABLE `av_internal` (
  `device_type` char(255) DEFAULT NULL,
  `ip_address` char(255) DEFAULT NULL,
  `user_tag` char(255) DEFAULT NULL,
  `VERSION` char(255) DEFAULT NULL,
  `Computer_Name` char(255) DEFAULT NULL,
  `Operation_System` char(255) DEFAULT NULL,
  `Pattern_Date` char(255) DEFAULT NULL,
  `LAST_UPDATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1'
4

1 に答える 1

0

挿入するテーブルにcreated_dateというタイムスタンプ列を追加し、デフォルト値がCURRENT_TIMESTAMPになるように設定します。

すべてのレコードには、作成された日付が自動的にレコードに追加されます。

于 2012-07-13T15:31:53.640 に答える