我想下面的存儲過程轉換成一個查詢,這樣我就可以在SQL Server CE將存儲過程轉換爲查詢(SQL Server Compact)?
USE TestResults
GO
CREATE PROCEDURE uspInsertNewTest
(@DeviceSerialNumber nvarchar(50),
@DeviceType nvarchar(50),
@ElapsedTime int)
AS
BEGIN
INSERT INTO [TestResults].[dbo].[Tests]([Date], [Device], [DeviceType], [ExecutionTimeMs])
OUTPUT INSERTED.TestId
VALUES (GETDATE(), @DeviceSerialNumber, @DeviceType, @ElapsedTime)
END
GO
使用它從上面的腳本,所有我能理解是,它需要三個輸入參數
- DeviceSerialNumber
- 設備類型
- ElapsedTime
,但它會更新表Tests
中的5列,包括Date
和TestId
。
既然不能使用SQL Server CE的存儲過程,我已經轉換上面的腳本到一個查詢字符串,
string queryString = "INSERT INTO Tests ([Date], [Device], [DeviceType], [ExecutionTimeMs]) VALUES (@Date, @DeviceSerialNumber, @DeviceType, @ElapsedTime)"
現在如何將OUTPUT INSERTED.TestId
到字符串(queryString
)?
有一個類似的問題here,但它並不能幫助我的問題
謝謝!
您可以改爲使用[SQL Server Express](http://www.microsoft.com/en-gb/server-cloud/products/sql-server-editions/sql-server-express.aspx)。 – Tanner 2014-10-22 10:50:41
是的,那已經可用了,但我正在尋找在SQL CE中提供解決方案。 – SanVEE 2014-10-22 10:52:19
您可以在INSERT後立即使用SELECT @@ IDENTITY來返回TestId,假設這是一個標識列? – 2014-10-22 10:57:17