2016-02-17 9 views
1

Я переношу некоторые таблицы и хранимые процедуры в оптимизированные в памяти таблицы и изначально скомпилированные хранимые процедуры. Я зацикливаюсь на сравнении строк.Как сравнить параметры varchar в изначально скомпилированной хранимой процедуре?

Сравнение, сортировка и обработка символьных строк, которые не используют * _BIN2 параметры сортировки не поддерживается изначально скомпилированных хранимых процедур .

CREATE TABLE [User].[FingerPrints] 
(
    Id int NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 10000), 
    FingerPrint VARCHAR(4000) NOT NULL, 
    SecretKey VARCHAR(512) NOT NULL, 
    BranchId int NOT NULL, 
    SteadySign bit NOT NULL, 
    CreatedOn datetime NOT NULL, 
    ModifiedOn datetime NOT NULL 
) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA) 
GO 

CREATE PROCEDURE [User].[GetFingerPrint] 
    @Id int, 
    @SecretKey VARCHAR(512) 
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER 
AS BEGIN ATOMIC WITH 
(
TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english' 
) 

SELECT [Id] 
     ,[FingerPrint] 
     ,[SecretKey] 
     ,[BranchId] 
     ,[SteadySign] 
     ,[CreatedOn] 
     ,[ModifiedOn] 
    FROM [User].[FingerPrints] 
    WHERE [Id] = @Id AND [SecretKey] = @SecretKey 

END 
GO 
+0

Так что вы можете изменить SecretKey использовать BIN2 сверку? –

ответ

2

Изменение параметров сортировки параметра @SecretKey, кажется, работает для меня, в копии AdventureWorks2014:

CREATE PROCEDURE [User].[GetFingerPrint] 
    @Id int, 
    @SecretKey VARCHAR(512) 
    WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER 
AS BEGIN ATOMIC WITH 
(
TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english' 
) 

SELECT [Id] 
     ,[FingerPrint] 
     ,[SecretKey] 
     ,[BranchId] 
     ,[SteadySign] 
     ,[CreatedOn] 
     ,[ModifiedOn] 
    FROM [User].[FingerPrints] 
    WHERE [Id] = @Id AND [SecretKey] = @SecretKey COLLATE LATIN1_GENERAL_BIN2 

END 
GO 
+0

Убедитесь, что это не приведет к поломке абонентов, ожидающих различной сортировки – Demi

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

  • Нет связанных вопросов^_^