什么是专用查询?

我在读一本关于SQL的书。 在这本书中,有一个术语“ 特设查询” ,我不明白。

什么是一个即席查询?

为拉丁文“为此目的”。 您可以将其称为“即时”查询,或者“即时​​”查询。 这是一种SQL查询,只需在需要的地方轻松input

var newSqlQuery = "SELECT * FROM table WHERE id = " + myId; 

…每次执行该代码行时,这是完全不同的查询,具体取决于myId的值。 临时查询的对面是一个预定义的查询,比如一个存储过程(Stored Procedure),其中您为从该表(例如)select的整个通用目的创build了单个查询,并将该ID作为variables传递。

临时查询是在发出查询之前无法确定的查询。 它是为了在需要时获取信息而创build的,它由dynamic构build的SQL组成,通常由桌面驻留的查询工具构build。

检查: http : //www.learn.geekinterview.com/data-warehouse/dw-basics/what-is-an-ad-hoc-query.html

还想补充一点,即席查询容易受到SQL注入攻击。 我们应该尽量避免使用它并使用参数化的SQL( 如Java中的PreparedStatement )。

临时查询是那些定期不需要定义的查询,因此它们不包含在典型的报告或查询中

临时查询是在发出查询之前无法确定的查询。 它是为了在需要时获取信息而创build的,它由dynamic构build的SQL组成,通常由桌面驻留的查询工具构build。 即席查询不驻留在计算机或数据库pipe理器中,而是根据数据用户的需要dynamic创build。

在SQL中,即席查询是松散types的命令/查询,其值取决于某个variables。 每次执行命令时,结果都不相同,具体取决于variables的值。 它不能预先确定,通常在dynamic编程SQL查询下。 即席查询是短暂的,并在运行时创build。

一个Ad-Hoc查询是:

  1. 预先计划的问题。
  2. 预定的问题。
  3. 刺激了当下的问题。
  4. 不会返回任何结果的问题

即席查询是计算机定义的types。 这意味着这个查询是专门devise来获取任何信息,当它只是需要。 预定义。 请参阅https://www.youtube.com/watch?v=0c8JEKmVXhU

在Sql Server中,“Ad Hoc Query”也被用于Ad Hoc Distributed Queries。 这些是通过OpenRowset或OpenDatasource在其他服务器上的临时查询。 Ad Hoc分布式查询只有在configuration后才允许使用。 这是一个服务器configuration选项。