PL/pgSQL学习笔记之六
http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html
39.3.1. 声明函数参数
传递给函数的参数被用 $1、$2等依次类推的标志符命名。作为可选项,为了提高可读性,可以为$n 参数名称定义别名。此后,既可以用数字标志符也可以用别名来指代参数值。
有两种方式来创建别名。推荐使用的方法是在CREATE FUNCTION命令你个中给参数一个名字,例如:
CREATE FUNCTION sales_tax(subtotal real) RETURNS real AS $$ BEGINRETURN subtotal * 0.06; END; $$ LANGUAGE plpgsql;
另外一种方法,在PostgreSQL8.0之前,是唯一的方法,它显式声明一个别名。采用如下的声明语法:
name ALIAS FOR $n;
上述例子采用这种方式后变为:
CREATE FUNCTION sales_tax(real) RETURNS real AS $$ DECLAREsubtotal ALIAS FOR $1; BEGINRETURN subtotal * 0.06; END; $$ LANGUAGE plpgsql;
请注意: 上述两个例子并不是完全相同。在第一个例子中, subtotal 可以通过 sales_tax.subtotal 来参照。但是在第二个例子中不能如此。 (如果在内部块中给一个标签,倒是可以用 标签.subtotal方式来指定它)
更多的例子:
CREATE FUNCTION instr(varchar, integer) RETURNS integer AS $$ DECLAREv_string ALIAS FOR $1;index ALIAS FOR $2; BEGIN-- some computations using v_string and index here END; $$ LANGUAGE plpgsql;CREATE FUNCTION concat_selected_fields(in_t sometablename) RETURNS text AS $$ BEGINRETURN in_t.f1 || in_t.f3 || in_t.f5 || in_t.f7; END; $$ LANGUAGE plpgsql;
转载于:https://www.cnblogs.com/gaojian/p/3183788.html
PL/pgSQL学习笔记之六相关推荐
- PL/pgSQL学习笔记之九
http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 39.3.2. ALIAS newname ALIAS FOR ...
- 判断题:oracle自带的sql语言环境是pl/sql,Oracle之PL/SQL学习笔记之数据类型(三)
Oracle之PL/SQL学习笔记之数据类型(三) 所有的编程语言中变量是使用最频繁的.PL/SQL作为一个面向过程的数据库编程语言同样少不了变量,利用变量可以把PL/SQL块需要的参数传递进来,做到 ...
- Oracle之PL/SQL学习笔记之有名块练习
2019独角兽企业重金招聘Python工程师标准>>> Oracle之PL/SQL学习笔记之有名块练习 存储过程案例: 案例1: 根据雇员姓名跟新雇员工资,如果雇员不存在输出没有该雇 ...
- Unity3D学习笔记之六创建更多的Prefab
在写完第五篇后,因为不知名的原因,我突然不能够上传100KB以上的图片在博客中了.等了几天还是这样,所以我用PS把图片的分辨率一张张调低,让图片的大小都在100左右,将积攒了四篇的学习笔 ...
- PL/SQL学习笔记-常量变量及数据类型初步
一:常量和变量 开始之前,还是照例做个经典的例子,如下: declare mydate varchar2(16) := 'hellow world'; begindbms_output.put_lin ...
- PL/SQL学习笔记(四)
这部分主要讲述在PL/SQL中如何访问oracle (一)检索单行数据 在PL/SQL嵌入select语句,使用方法: SELECT select_list INTO variable_name1,v ...
- linux 路由指向策略,Linux 路由 学习笔记 之六 策略规则的添加
上一节分析了策略规则相关的数据结构,本节就分析一下策略规则的添加.对于策略规则的功能模块,由于 v4 . v6 都有用到,所以该模块也和邻居模块一样,抽象出了通用规则的接口函数,然后根据传入的参数来进 ...
- python开发学习笔记之六(面向对象)
面向对象引入: 现在有一个这样的需求:做汽水. 在之前的学习中,我们怎样处理这种类似的问题呢?思考一下,哦,不就是分步骤做嘛,把复杂的问题简单化,分成一个一个的步骤,就像机器人,流水线一样,先干什么后 ...
- 快速软件开发 学习笔记 之六
第9章 Customer-oriented Development(面向客户软件开发) Customer("客户")这个词,是指花钱购买拟开发软件产品的人或负责验收软件产品的人.我 ...
最新文章
- Java新手看招 常用开发工具介绍
- 五分钟了解Mysql的行级锁——《深究Mysql锁》
- ios平台下的DES加密
- mac之brew安装卸载使用
- [蓝桥杯2019初赛]特别数的和-枚举
- 【软件安装管家】Axure RP 8软件安装包下载地址及安装教程
- NFS 服务端配置流程
- HTML自动填充表格,word文档中如何实现表格自动填充
- vue 移动端剪裁
- 【蓝桥杯】欧拉定理 + 欧拉数线性筛法
- 图解ArcGIS数据三维显示
- TabLayout 的使用 更改下划线的长度,和一个奇葩的问题
- 【Programe.VIM学习】
- ios CAF音频转换为MP3
- 一些基础的CSS英语单词
- 2018年广东工业大学文远知行杯新生程序设计竞赛 1006 那天的延长线在今天β
- 3GPP TS 23501-g51 中英文对照 | 4.4.7 MSISDN-less MO SMS Service
- 容器化技术和Docker
- Ni Multisim 101序列检测器实验报告
- 数字旅游解决方案_什么是数字标牌?
热门文章
- Spring Boot文档阅读笔记-FileHandling解析及抓包分析
- Spring Boot工作笔记-RabbitMQ中Unsupported major.minor version 52.0问题
- Spring中3种实例Bean的方法及设置Bean的别名
- Spring Boot中自动配置原理以及日志的基本使用
- Qt文档阅读笔记-OpenGL Window Example的解析笔记
- c语言实现各种排序,c语言实现各种排序算法
- php三级实例,三级联动实例
- java excel 兼容问题_java--POI解析excel兼容性问题
- 数仓主题表怎么设计_陶瓷企业展厅设计主题风格怎么确定?
- vb.net datetimepicker月到当日的天数_【坦克世界】11月10日个人专属优惠商店限时开放...