动态SQL的优缺点

接受和处理动态定义的SQL语句的主程序比普通嵌入式SQL程序更通用。动态SQL语句可以在运行时由用户输入的信息构建,就算是对SQL语句知之甚少,甚至完全不知道SQL语句用法的用户都能使用SQL语句对数据库进行操作。

一个简单的应用程序只需要用户为SELECT、UPDATE或者DELETE语句的WHERE从句确定查询条件,其它部分可以由应用程序自动生成。那么用户就可以不必关心SQL语句的组成和语法,而是简单地根据应用程序的提示输入查询条件,比如,一个等式或者不等式。这项工作即使对于一个普通用户来说也是非常容易的。一个复杂一些的应用程序允许用户从菜单中选择SQL操作、表名、视图名、列名等等。因此,动态SQL可以让程序开发人员开发高度灵活的应用程序。

然而,一些动态查询需要复杂的编码、使用特殊的数据结构和更多的运行时间。程序开发者可能无法察觉增加的运行时间,但是如果不完全理解动态SQL的概念和方法,那么程序开发者将会发现编程变得非常困难,而且容易出错。