动态 SQL是一种编程技术,使您能够在运行时动态构建SQL语句。您可以使用动态SQL创建更多通用,灵活的应用程序,因为编译时可能不知道SQL语句的全文。
推荐参考学习:《mysql教程》
下面提到的是Static 或 Embedded以及Dynamic 或 Interactive SQL 之间的基本区别:
静态(嵌入式)SQL | 动态(交互式)SQL |
在Static SQL中,嵌入式SQL语句中预先确定了如何访问数据库。 | 在Dynamic SQL中,将在运行时确定如何访问数据库。 |
它更加迅速和有效。 | 它不那么迅捷和有效。 |
SQL语句在编译时编译。 | SQL语句在运行时编译。 |
解析,验证,优化和应用计划的生成在编译时完成。 | 解析,验证,优化和应用程序计划的生成在运行时完成。 |
它通常用于数据均匀分布的情况。 | 它通常用于数据分布不均匀的情况。 |
不使用EXECUTE IMMEDIATE,EXECUTE和PREPARE语句。 | 使用EXECUTE IMMEDIATE,EXECUTE和PREPARE语句。 |
它灵活性较差。 | 它更灵活。 |
动态SQL的局限性:
我们不能动态地使用某些SQL语句。
与Static SQL相比,这些语句的性能很差。
静态SQL的局限性:
它们在运行时不会更改,因此会被硬编码到应用程序中。
本篇文章就是关于静态和动态sql之间的区别介绍,希望对需要的朋友有所帮助!