Static or Embedded SQL are SQL statements in an application that do not change at runtime and, therefore, can be hard-coded into the application. Dynamic SQL is SQL statements that are constructed at runtime; for example, the application may allow users to enter their own queries.
Dynamic SQL is a programming technique that enables you to build SQL statements dynamically at runtime. You can create more general purpose, flexible applications by using dynamic SQL because the full text of a SQL statement may be unknown at compilation.
Below mentioned are the basic differences between Static or Embedded and Dynamic or Interactive SQL:
|Static (Embedded) SQL||Dynamic (Interactive) SQL|
|In Static SQL, how database will be accessed is predetermined in the embedded SQL statement.||In Dynamic SQL, how database will be accessed is determined at run time.|
|It is more swift and efficient.||It is less swift and efficient.|
|SQL statements are compiled at compile time.||SQL statements are compiled at run time.|
|Parsing, Validation, Optimization and Generation of application plan are done at compile time.||Parsing, Validation, Optimization and Generation of application plan are done at run time.|
|It is generally used for situations where data is distributed uniformly.||It is generally used for situations where data is distributed non uniformly.|
|EXECUTE IMMEDIATE, EXECUTE and PREPARE statements are not used.||EXECUTE IMMEDIATE, EXECUTE and PREPARE statements are used.|
|It is less flexible.||It is more flexible.|
Limitation of Dynamic SQL:
We cannot use some of the SQL statements Dynamically.
Performance of these statements is poor as compared to Static SQL.
Limitations of Static SQL:
They do not change at runtime thus are hard-coded into applications.
- Difference between Static and Dynamic Routing
- Difference between static and non-static variables in Java
- Difference between Static and Shared libraries
- Difference between var and dynamic in C#
- Greedy approach vs Dynamic programming
- class method vs static method in Python
- Difference between ++*p, *p++ and *++p
- Difference between JSP and ASP
- What is the difference between GUI and CUI?
- Difference Between BFS and DFS
- Web 1.0, Web 2.0 and Web 3.0 with their difference
- Difference between C and C++
- What's difference between MMU and MPU?
- Difference between while(1) and while(0) in C language
- Difference between Hub and Switch
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.