2012-03-06 66 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