몇 가지 웹 검색을 수행했지만 실제로 1x 데이터베이스 테이블과 2x 저장 프로 시저의 문제를 해결할 수있는 항목을 찾을 수 없습니다. 나는이 주제에 초보자이기 때문에 어떤 도움이 많이 appriechiated입니다.SQL Server : 저장 프로 시저 (초보자)
2 개의 저장 프로 시저가 있습니다. 이들 중 하나는 다른 데이터 베 이스 (GetRawDataFromIHistorian)의 원시 데이터와 다른 데이터 (GasNominationsRawData_Insert)를 쿼리 할 때이 데이터를 테이블에 INSERT해야합니다.
내 첫 SP가 작동하지만 이걸 내 GasRawData라는 테이블에 삽입하는 것 같습니다. 메시지 표시
"메시지 (201), 레벨 16, 상태 4, 절차 GasNominationsRawData_Insert, 라인 0 절차 또는 함수 'GasNominationsRawData_Insert'는 아니었다 파라미터 '@timestamp'를 기대 ... 삽입 SP가 실행 트링 때 공급했다. "
내 첫 SP (GetRawDataFromIHistorian)는 다음과 같습니다...
ALTER PROCEDURE [dbo].[GetRawDataFromIHistorian]
AS
SET NOCOUNT ON;
SELECT [timestamp], Left(Right(TagName,Len(TagName)-5),Len(TagName)-10) AS TagName,
CONVERT(decimal(10, 2), ROUND(value, 2)) AS Value
FROM
OPENQUERY(IHISTORIAN,'
SELECT timestamp, tagname, value
FROM ihRawData
WHERE tagname = "UMIS.99FC9051.F_CV"
OR tagname = "UMIS.99F851C.F_CV"
AND timestamp BETWEEN ''2011-10-18 05:00:00.000'' AND ''2011-10-19 06:00:00.000''
AND samplingmode =Calculated
AND calculationmode =Average
AND intervalmilliseconds =1h
ORDER BY tagname, timestamp
')
그리고 내 삽입 SP (GasNominationsRawData_Insert)는 다음입니다 ...
ALTER PROCEDURE [dbo].[GasNominationsRawData_Insert]
@timestamp DATETIME,
@TagName NVARCHAR(50),
@Value REAL
AS
INSERT INTO dbo.GasRawData (timestamp,
TagName,
Value)
VALUES (@timestamp,
@TagName,
@Value);
SELECT SCOPE_IDENTITY() AS NewRecordID;
단순히 그냥 먹고 싶어 GetRawDataFromIHistorian 쿼리의 결과이며 GasNominationsRawData_Insert를 사용하여 GasRawData 테이블을 채 웁니다.
은 당신이 예상 매개 변수를 전달하지 않는 한 당신이 GasNominationsRawData_Insert 프로 시저를 호출 할 때
이RecordID (PK, int, not null)
timestamp (datetime, not null)
tagname (nvarchar(50), not null)
value (real, not null)