sql >> データベース >  >> RDS >> Mysql

SQLを使用して実行可能コードをテーブルレコードに保存することは可能ですか?

    出来ますか?おそらく。事実上すべてのデータベースシステムで、実行時に動的に読み取って実行できるPL / SQL(Oracleの場合)、T-SQL(SQL Serverの場合)などの文字列を格納できます。

    あなたはすべきですか?ほぼ間違いなくそうではありません。この種のダイナミズムを構築する価値があることはめったにありません。実際に見る可能性のあるコードに加えて、データとしてコードのビットが含まれるようになったため、通常、システムの理解とデバッグがはるかに困難になります。それはあらゆる種類の優れたプログラミング慣行を破ります(関連するコードの一部を分離すると、適切なコードベースになり、他のビットはテーブルの行に実装されます。必然的に、メソッドを世界に公開することになります。システムが適切に設計されている場合など)そして、システムにすばらしいSQLインジェクションの脆弱性を本質的に組み込んでいるため、セキュリティがはるかに複雑になります。柔軟性は大幅に向上しますが、システムが実際にその柔軟性を使用して、欠点を相殺するのに十分な頻度で使用することはほとんどありません。



    1. UPDATE..SqlAlchemyとPostgreSQLでの制限1

    2. IXロックがInnoDBの別のIXロックと互換性があるのはなぜですか?

    3. MySQL:エイリアスを列として使用

    4. merge..outputを使用して、source.idとtarget.idの間のマッピングを取得します