![](/img/trans.png)
[英]Problem with the with clause when connecting to the wonderware historian database
[英]Inserting data between SQL table and Wonderware Historian
我正在尝试从 Wonderware Historian 获取值,以便在报表生成器中读取。 我通过 Historian 客户端查询获得了下面的 SQL 代码,但此代码直接从 SQL 视图执行 select。
SET NOCOUNT ON
DECLARE @StartDate DateTime
DECLARE @EndDate DateTime
SET @StartDate = DateAdd(mi,-5,GetDate())
SET @EndDate = GetDate()
SET NOCOUNT OFF
SELECT StateSummaryHistory.TagName, StartDateTime, EndDateTime, Value, vValue
FROM StateSummaryHistory
WHERE StateSummaryHistory.TagName IN ('VTIS01_FT04', 'VTIS01_TT344')
AND wwVersion = 'Latest'
AND wwRetrievalMode = 'Cyclic'
AND wwCycleCount = 1
AND StartDateTime >= @StartDate
AND EndDateTime <= @EndDate
我需要在已经创建的表中插入数据,以便我可以为 Report Builder 执行 select,下面是我试图在表中插入的代码:
INSERT INTO x_TagsDescr
SELECT StateSummaryHistory.TagName, StartDateTime, EndDateTime, Value, vValue
FROM StateSummaryHistory
WHERE StateSummaryHistory.TagName IN ('VTIS01_FT04', 'VTIS01_TT344')
返回以下错误:
列名或提供的值的数量与表定义不匹配。
x_TagsDescr 是我要插入的表。
有人可以帮我吗?
插入时提及列名以避免此错误是一个好习惯:
INSERT INTO x_TagsDescr (<list of column names that match columns in your select>)
SELECT StateSummaryHistory.TagName, StartDateTime, EndDateTime, Value, vValue
FROM StateSummaryHistory
WHERE StateSummaryHistory.TagName IN ('VTIS01_FT04', 'VTIS01_TT344')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.