sql >> Databasteknik >  >> RDS >> Mysql

Är det möjligt att lagra körbar kod i en tabellpost med hjälp av SQL

Kan du? Förmodligen. I praktiskt taget alla databassystem skulle det vara möjligt att lagra en sträng av PL/SQL (för Oracle), T-SQL (för SQL Server), etc. som kan läsas och köras dynamiskt under körning.

Bör du? Nästan absolut inte. Att bygga den här typen av dynamik är sällan värt besväret. Det gör i allmänhet ditt system mycket svårare att förstå och felsöka eftersom du nu har bitar av kod som data utöver koden som du sannolikt kommer att titta på. Det bryter mot alla möjliga bra programmeringsmetoder (att separera bitar av relaterad kod varav en del gör den till den egentliga kodbasen och andra bitar av vilka implementeras i rader i en tabell, det får dig oundvikligen att exponera metoder för världen som du skulle inte om systemet designades korrekt, etc.) Och det gör säkerheten mycket mer komplicerad eftersom du i grunden bygger in en underbar SQL-injektionssårbarhet i ditt system. Du får mycket mer flexibilitet men det är ganska sällsynt att ett system faktiskt använder den flexibiliteten tillräckligt ofta för att kompensera för nackdelarna.



  1. Hur kan jag söka (skiftlägeskänsligt) i en kolumn med hjälp av LIKE jokertecken?

  2. MySQL CONCAT(sträng,långtext) resulterar i hexsträng

  3. Är det möjligt att lägga till en autoinkrement primär indexkolumn i hela mysql-tabellen försenat?

  4. Implementering av Postgres SQL i Apache Airflow