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~")

这是创建表语句:

'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 回答