Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy możliwe jest przechowywanie kodu wykonywalnego w rekordzie tabeli za pomocą SQL?

Mógłbyś? Prawdopodobnie. W praktycznie każdym systemie bazodanowym byłoby możliwe przechowywanie ciągu znaków PL/SQL (dla Oracle), T-SQL (dla SQL Server) itp., które mogłyby być odczytywane i wykonywane dynamicznie w czasie wykonywania.

Powinieneś? Prawie na pewno nie. Budowanie tego rodzaju dynamizmu rzadko kiedy się opłaca. Ogólnie rzecz biorąc, system jest znacznie trudniejszy do zrozumienia i debugowania, ponieważ masz teraz fragmenty kodu jako dane oprócz kodu, na który prawdopodobnie faktycznie patrzysz. Łamie wszelkiego rodzaju dobre praktyki programistyczne (oddzielanie fragmentów powiązanego kodu, z których część trafia do właściwej bazy kodu, a inne są implementowane w wierszach w tabeli, nieuchronnie powoduje, że wystawiasz metody na świat nie, jeśli system został zaprojektowany poprawnie, itp.) A to znacznie komplikuje bezpieczeństwo, ponieważ zasadniczo budujesz cudowną lukę SQL injection w swoim systemie. Otrzymujesz znacznie większą elastyczność, ale rzadko zdarza się, aby system faktycznie używał tej elastyczności wystarczająco często, aby zrównoważyć wady.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jakiego rodzaju schematu mogę użyć do ręcznego wprowadzania danych na podstawie daty?

  2. Jak uzyskać wartość automatycznego przyrostu klucza podstawowego w MySQL za pomocą Hibernate?

  3. MySQLi :Wstawianie wielu wierszy za pomocą jednej przygotowanej instrukcji

  4. Laravel Sail odbudowuje domyślną bazę danych

  5. Używanie mysql concat() w klauzuli WHERE?