2012-03-06 2 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 CE сервера, но я подтвердим его;

+0

Я получаю эту ошибку: Declare @businessId UniqueIdentifier Произошла ошибка при разборе запроса. [Номер строки токена = 14, смещение линии токена = 1, токен с ошибкой = объявить]. Возможно, SQL CE не поддерживает объявление переменных. – MoonLight

+0

да, я получаю это :( –

+1

кажется, что SQL Server Compact не разрешает оператор declare. Вы можете параметризовать команду sql и добавить параметры через объект .net SQLCECommand. См. Http://stackoverflow.com/q/4056872/29467 –

Смежные вопросы