《PostgreSQL服务器编程》一一

3.1 为什么是PL / pgSQL

PL/pgSQL是一个功能强大的SQL脚本语言,其深受PL/SQL的影响。PL/SQL是由Oracle分发的存储过程语言。作为PostgreSQL产品中的一个标准部分,PL/pgSQL存在于绝大多数的PostgreSQL安装文件中,所以基本不需要对它进行重复设置。
PL/pgSQL也有一个肮脏的小秘密。PostgreSQL的开发者们并不希望你知道,PL/pgSQL是一个成熟的 SQL开发语言,其能够在PostgreSQL数据库内漂亮地实现所有的
功能。
为什么说这是一个秘密?多年以来,PostgreSQL并没有声称要拥有存储过程。PL/pgSQL函数最初被设计用来返回标量值,且打算用来处理简单的数学任务和普通的字符串操作。
通过多年的发展,PL/pgSQL逐渐拥有了一套丰富的控制结构,并借助触发器、运算符和索引获得了各种能力。最后,它迫使开发者们相当不情愿地承认了这么一个事实:他们手上确实拥有了一套完整的存储过程开发系统。
在整个发展过程中,PL/pgSQL的目标从最初作为简单的标量函数,变成了带有完整控制结构的、可以对所有PostgreSQL系统提供访问的内部构件。你可以通过访问链接http://www.postgresql.org/docs/current/static/plpgsql-overview.html,了解当前版本所能提供的所有信息。
如今,使用PL/pgSQL的好处有如下几点:
易于上手
在大多数PostgreSQL部署中为默认项
为数据密集型任务进行性能优化
除了PL/pgSQL,PostgreSQL也支持许多可以插入到数据库中的其他语言。本书也会介绍其中的一些语言。你也可以选择Perl、Python、PHP、bash以及其他语言,进行函数编写,但你可能需要将它们加入到你的PostgreSQL实例中。

时间: 2024-08-10 16:16:00

《PostgreSQL服务器编程》一一的相关文章

学习JAVA语言过程中可能遇到的共同问题

这节教程将讨论一些在学习JAVA语言过程中可能遇到的共同问题. 问题一:编译器找不到类. 解决方法: 确保你已经导入了类或者它的包. 如果对CLASSPATH环境变量有进行设置,要重新复位. 确保类名的拼写跟定义的一样,要注意大小写问题. 如果类在包中,要确保它们处在正确的子目录中. 同时,一些程序员从.java文件名字为类使用不同的名字.要确保你是使用类名字而不是文件名.实际上,使类名和文件名相同就不会出现这个错误了. 问题二:注释器不能找到其中一个类 解决方法: 确保你指定的是类名而不是类的

《Android应用开发攻略》——1.2 学习Java语言

1.2 学习Java语言 1.2.1 问题 Android应用采用Java编程语言编写,然后转换为Android自有的类文件格式--DEX.如果你不知道如何用Java编程,就会觉得编写Android应用非常困难.1.2.2 解决方案 学习Java的资源很多,其中大部分都能够传授你所需的知识,但是在这里要提醒你,有些API类在Android开发中无法使用,请避开与表1-1左列的主题相关的资源. 1.2.3 讨论 下面是一些有关Java编程的书籍和资源: David Flanagan所著的<Java

我想深入的系统的学习java语言,但是我不知道该看哪些方面的书?

问题描述 我想深入的系统的学习java语言,但是我不知道该看哪些方面的书?像html,JavaScript,jsp等,顺便推荐一下比较好的书名,请各位大侠指点一二!!谢了...还有就是我用的是eclipse工具. 解决方案 解决方案二:满江红开源网站很干净的网站没一个广告非赢利书有点少但是也很不错解决方案三:html,JavaScript其实没必要什么书籍,去网上找些实例学习学习会更快JSP方面可以看下孙卫琴的<TOMCAT与JAVAWEB详解>解决方案四:corejava解决方案五:深入学习

求大神解答,学习JAVA语言,还需要学习哪一些辅助的技术?

问题描述 求大神解答,学习JAVA语言,还需要学习哪一些辅助的技术?我是初学者 解决方案 解决方案二: 数据结构.常用算法.设计模式.网络协议.java相关:java编程思想,JVM原理先说这么多吧.能把这几个学透撤.扎实的也没多少

学习java语言思想 了解java语言优势

虽然Java技术是那么的诱人,前景也似乎非常光明,但是不是已经有了C.C++等广泛应用并且大获成功的语言了吗?微软不是又在大力推广他们的.Net技术吗?LISP.Prolog等人工智能语言在北美洲.欧洲的金融领域不是也有很大的应用吗?学习Java编程,是不是一个明智的选择呢? 带着这些问题,让我们来看看Java的优势. 1.免费! Sun免费提供用来开发Java应用程序的一切,你不必付任何的版税.或许你会将信将疑:资本家搞共产了?实际上,Sun在Java上的收益确实不大,远远比不过垄断Java应

帮你学习Java语言的游戏

有人说,最好的学习方法就是游戏.来自旧金山加州大学的研发团队日前开发了一款编程游戏--在游戏的同时教会玩家如何使用 Java 语言.这款名为 CodeSpells 的游戏是由计算机学家 William Griswold 带领的大四学生团队开发的.游戏的主要受众为高中生.研发团队希望由此来开发学生们的创新力和想象力,让他们主动地去学习知识.   该作是一款第一人称游戏.玩家将扮演一名和矮人们生活在荒岛上的魔法师.因为矮人们失去了使用魔法的能力,所以作为魔法师的玩家将帮助矮人们完成魔法.这些咒语是以

对于初学者学习Java语言的建议

初学     初学者的任务是掌握Java的语言规则和养成良好的编程习惯,其次才谈到对类库使用的熟练程度,再其次是OO思想的掌握与应用,再其次就是Design Pattern的问题了.     在这里我只想介绍几个对成功完成第一个阶段很有用的资料.     以下按照循序渐进的顺序进行:     1.The Java Tutorial和它的examples:         ftp://ftp.javasoft.com/docs/tutorial.zip         ftp://ftp.java

C++构造函数深度学习_C 语言

本文针对C++构造函数进行深度探究,供大家参考,具体内容如下 1.引子:  以下代码中的输出语句输出0吗,为什么? struct Test { int _a; Test(int a) : _a(a) {} Test() { Test(0); } }; Test obj; cout << obj._a << endl; 输出为:-858993460 2.剖析上面代码的输出为一个垃圾值,也就是说obj调用构造函数并没有对成员进行初始化工作,虽然默认无参构造Test()内部调用了Test

彻底学习Java语言中的覆盖和重载

初次见到这两个单词并没有什么特别的感觉,但是时间长了,却发现书上一会儿用override,一会儿又用overload,搞得我的迷迷糊.于是就做了个总结,希望能对和我一样对这两个概念模糊不清的网友有一个帮助.override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用.对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法.除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法.

CCAI 2017 | 专访德国语言技术领军者 Hans Uszkoreit:深度学习还不足以解决 NLP 核心问题

会前,我们采访到了大会 Keynote 嘉宾.德国人工智能研究中心科技总监 Hans Uszkoreit 博士. Uszkoreit 博士是中德两国人工智能合作的核心人物,负责德国人工智能研究中心在中国的所有合作项目,今年 3 月,他刚被任命为在北京新成立的人工智能技术中心(AITC)总监兼首席科学家.在访谈中,Uszkoreit 博士谈到了人工智能在工业 4.0 和商业智能上的应用,以及中.美.欧在人工智能领域的差异. 对于他的老本行,Uszkoreit 博士认为,语言技术是人工智能的核心部分