Я пытаюсь расшифровать столбец таблицы и сохранить его в другой таблице, открыв симметричный ключ, и нахожу приведенный ниже запрос ошибочным:
create table dbo.Secrets (
Secret varbinary(400)
)
go
create view dbo.openSecrets
as
select cast(decryptbykey(Secret) as varchar(200)) as OpenSecret
from dbo.Secrets
go
open symmetric key [SymKey]
DECRYPTION BY CERTIFICATE [SymCert]
go
insert into dbo.Secrets (Secret)
values (ENCRYPTBYKEY(KEY_GUID('SymKey'), (select col_test from dbo.tbltest)));
select *
from dbo.openSecrets;
close symmetric key [SymKey];
select *
from dbo.openSecrets;
Я вижу ошибку: подзапрос SQL Server возвратил более 1 значения. Это недопустимо, если подзапрос следует =,! =, <, <=,>,> =
Проблема с этой строкой:
values (ENCRYPTBYKEY(KEY_GUID('SymKey'), (select col_test from dbo.tbltest)));
Ожидаемый результат:
Это должен быть вывод для операторов выбора в и из расшифровки.
Но я не знаю, как исправить внутренний оператор выбора. Любая помощь?!