PL/pgSQL多输出参数例子】的更多相关文章

例子一,不带returns: postgres=# CREATE FUNCTION sum_n_product(x int, y int, OUT sum int, OUT prod int) AS $$ postgres$# BEGIN postgres$# sum := x + y; postgres$# prod := x * y; postgres$# END; postgres$# $$ LANGUAGE plpgsql; CREATE FUNCTION postgres=# post…
我的例子: 数据准备: create table custinfo(custid integer,callingcnt integer); ,),(,),(,); 函数生成: CREATE OR REPLACE FUNCTION get_callingcnt(custid int) RETURNS TABLE ( custid int ,callingcnt int ) AS $$ BEGIN RETURN QUERY SELECT t.custid ,t.callingcnt FROM cus…
从网上找到例子: 可以说,RETURN NEXT要用在循环中: 例子一: 数据准备: CREATE TABLE foo (fooid INT, foosubid INT, fooname TEXT); , , 'three'); , , 'six'); 生成函数: CREATE OR REPLACE FUNCTION getAllFoo() RETURNS SETOF foo AS $BODY$ DECLARE r foo%rowtype; BEGIN FOR r IN SELECT * FRO…
1.pl/sql如何定义参数 declare --1)定义参数 -- ban_Id number; ban_Name ); 2.pl/sql如何参数赋值 --2)参数赋值-- ban_Id :; ban_Name :='测试值'; 3.pl/sql如何输出参数 --3)输出参数值-- dbms_output.put_line('测试ID:'|| ban_Id); dbms_output.put_line('测试NAME:'|| ban_Name); 4.pl/sql如何进行判断 --当参数=1,…
实验如下: RETURNS TABLE 中的变量名和SQL文中的变量名同名时,执行时会出错: pgsql=# create table sales(itemno integer,quantity integer,price numeric); CREATE TABLE pgsql,,,,12.3); pgsql=# CREATE FUNCTION extended_sales(p_itemno int) pgsql-# RETURNS TABLE(quantity int, total nume…
http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 如果一个PL/pgSQL函数声明了输出参数,输出参数被赋予$n名称和可选的别名,和正常输入参数的作法一样.输出参数是一个从NULL开始的变量:它将被在函数的执行过程中被赋值.此参数的最后的值就是函数的返回值.例如,the sales-tax 例子可以这样实现: 例子: CREATE FUNCTION sales_tax(subtotal real, OUT ta…
http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 另外一种声明 PL/pgSQL 函数的方法是使用 returns table,例如: CREATE FUNCTION extended_sales(p_itemno int) RETURNS TABLE(quantity int, total numeric) AS $$ BEGIN RETURN QUERY SELECT quantity, quantity…
http://www.postgresql.org/docs/9.1/static/plpgsql-overview.html 39.1.2. Supported Argument and Result Data Types 用PL/pgSQL写的函数可以接受标量类型或者服务器支持的数组类型作为参数,它们可以返回前述的数据类型的结果.它们也能接受或返回通过名称指定的复杂类型(rwo type).也可以声明一个PL/pgSQL函数返回 record类型,此时返回的结果是一个row type,它的列…
介绍 PL/pgSQL 是PostgreSQL 数据库系统的一个可加载的过程语言. PL/pgSQL 的设计目标是创建一种可加载的过程语言,可以 用于创建函数和触发器过程, 为SQL 语言增加控制结构, 执行复杂的计算 继承所有用户定义类型.函数.操作符, 定义为被服务器信任的语言.PL/pgSQL创建的函数可以在那些使用内置函数一样的情形下使用. 比如,可以创建复杂的条件计算函数,并随后将之用于定义操作符或者用于函数索引中. 使用PL/pgSQL的优点 SQL是PostgreSQL和大多数其它…
10-2. 返回输出参数 问题 想获取存储过程里的一个或多个输出参数的值 解决方案 假设我们有一个像Figure 10-1所示的,出租车辆与租金收入的模型 Figure 10-1.出租车辆与租金收入的模型 我们想知道在指定日期里,收入了几笔租金和金额, 以及车辆的租凭情况. 存储过程Listing 10-7 就是获取这些信息的. Listing 10-7. A Stored Procedure for the Vehicles Rented, the Number of Rentals, and…