代码之家  ›  专栏  ›  技术社区  ›  Moeb

在非过程语言中,什么指定了如何进行操作?

  •  3
  • Moeb  · 技术社区  · 16 年前

    与过程语言相比 比如C,它描述了 SQL是非过程的

    所以 怎样

    2 回复  |  直到 16 年前
        1
  •  4
  •   user359040 user359040    15 年前

    那么,像这样的语言

    不是严格意义上的 语言

    假设我想改变

    在某种程度上,是的。您可以:

    1. 重写查询,以不同的方式获得相同的结果,或者
    2. 使用暗示- http://en.wikipedia.org/wiki/Hint_%28SQL%29

    这两个都不是 将影响

        2
  •  2
  •   Jerry Coffin    16 年前

    如果要在C中完成相同的工作,则(在某些时候)必须指定更多的细节(除非使用ODBC之类的工具)。尽管如此,您仍然在告诉应该做什么,而不是应该如何做的所有细节(例如,尽管汇编语言的级别尽可能低,C仍然会自动进行一些类型转换,因此,您不必告诉它如何将整数添加到浮点数中—您只需告诉它将它们添加,它就可以处理细节)。

    一句话:试图把一个说成是程序性的,另一个说成是非程序性的,这是误导。SQL并不总是需要那么多细节,但它只是程度的不同,而不是“如何”和“什么”。