У меня есть база данных, которая конвертируется для использования всегда зашифрованного шифрования. У меня есть вставка внутри хранимой процедуры в формате:
CREATE PROCEDURE CreateUser
(@Username NVARCHAR(50)
,@PaymentMethod NVARCHAR(50))
AS
BEGIN
INSERT INTO Users
( Username
, PaymentMethod
)
VALUES
( @Username
, ISNULL(@PaymentMethod,'Credit Card')
)
END
Это чрезмерное упрощение, мы фактически передаем несколько параметров, некоторые зашифрованы, некоторые нет.
Этот код перебивается, потому что «Кредитная карта» не зашифрована и поэтому не может быть вставлена в зашифрованное поле, и вы не можете зашифровать поле с ограничением по умолчанию. Хотя можно настроить «defaultPaymentMethod» и передать его, это также сделает вызов очень запутанным.
Есть ли у кого-нибудь более изящное решение, чем переход по умолчанию? Я уверен, что кому-то уже приходилось делать нечто подобное.
Большое спасибо.