2012-03-06 63 views
0

我有這樣的腳本:如何在SQL Server CE 4腳本中使用常量/變量?

DELETE FROM [Tags] WHERE Id = CONVERT(uniqueidentifier, '7373D1A0-CB6A-4207-87C4-AE2939FD20C0'); 
GO 
INSERT INTO [Tags] VALUES (CONVERT(uniqueidentifier, '7373D1A0-CB6A-4207-87C4-AE2939FD20C0'), 'Business'); 
GO 

我要聲明一個@businessId不斷從我的

CONVERT(uniqueidentifier, '7373D1A0-CB6A-4207-87C4-AE2939FD20C0') 

最終的結果保存結果應該是清潔:

DELETE FROM [Tags] WHERE Id = @businessId; 
GO 
INSERT INTO [Tags] VALUES (@businessId, 'Business'); 
GO 

有沒有一種在SQL Server CE 4中執行此操作的方法? 如果不是,是否有辦法在SQL Server中執行此操作?

謝謝你的幫助。

回答

1

在T-SQL(SQL Server)的,你會寫

Declare @businessId UniqueIdentifier; 
set @businessId = '7373D1A0-CB6A-4207-87C4-AE2939FD20C0'; 

我會想象它是SQL Server CE相同的,但我會確認;

+0

我收到此錯誤:Declare @businessId UniqueIdentifier 解析查詢時發生錯誤。 [令牌行號= 14,令牌行偏移量= 1,令牌出錯=申報]。 也許SQL CE不支持變量的聲明。 – MoonLight 2012-03-06 03:47:16

+0

是啊,我得到那個:( – 2012-03-06 04:15:12

+1

似乎SQL Server Compact不允許聲明語句。你可以參數化一個sql命令並通過.net SQLCECommand對象添加參數。參見http://stackoverflow.com/q/4056872/29467 – 2012-03-06 04:17:47