Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy mogę użyć procedury składowanej SQLCLR do aktualizacji kolumny tabeli bazy danych (przy użyciu skompilowanej biblioteki dll)

możesz użyj SQLCLR do wywołania szyfrowania z C#, chociaż jest to niewłaściwe podejście. Jeśli potrzebujesz wykonać niestandardowy algorytm, powinieneś zawrzeć go w funkcji SQLCLR, aby można go było użyć w instrukcji UPDATE, a nawet INSERT lub SELECT lub gdziekolwiek. Coś takiego:

public class SP
{
  [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true)]
  public static SqlString EncryptByAES(SqlString TextToEncrypt)
  {
     return DoSomething(TextToEncrypt.Value);
  }
}

Następnie możesz użyć tej funkcji w następujący sposób:

UPDATE tb
SET    tb.FieldA = EncryptByAES(tb.FieldA)
FROM   dbo.TableName tb
WHERE  tb.FieldA some_test_to_determine_that_FieldA_is_not_alreay_encrypted;

ALE , zanim napiszesz niestandardowy algorytm szyfrowania, możesz wypróbować kilka wbudowanych sparowanych funkcji ENCRYPTBY / DECRYPTBY, które mogą zrobić dokładnie to, czego potrzebujesz:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak znaleźć formaty dat używane dla określonego języka w SQL Server (T-SQL)

  2. Przechowuj wiele wartości bitowych w jednej kolumnie tabeli

  3. Sprawdzanie dostępności nazwy użytkownika przy użyciu AJAX i PHP w porównaniu z MSSQL

  4. Jaki jest najszybszy sposób zbiorczego wstawiania dużej ilości danych w programie SQL Server (klient C#)

  5. Jak utworzyć tabelę za pomocą zapytania wybierającego w SQL Server?