始终加密参数的默认值

时间:2018-05-01 13:57:38

标签: sql sql-server stored-procedures default-value always-encrypted

我有一个正在转换为使用始终加密加密的数据库。我在存储过程中有一个Insert,格式为:

CREATE PROCEDURE CreateUser
    (@Username NVARCHAR(50)
    ,@PaymentMethod NVARCHAR(50))
AS 
BEGIN
    INSERT INTO Users
    (   Username
    ,   PaymentMethod
    )
    VALUES
    (   @Username
    ,   ISNULL(@PaymentMethod,'Credit Card')
    )
END

这是一种过度简化,我们实际上传递了多个参数,有些是加密的,有些是不是。

这段代码因为'信用卡'未加密,因此无法插入加密字段,也无法使用默认约束加密字段。虽然可以配置" defaultPaymentMethod"并且通过它也会使通话变得非常混乱。

有没有人比传递默认值更优雅的解决方案?我确定有人必须做类似的事情。

非常感谢。

0 个答案:

没有答案