微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

POSTGRESQL

POSTGREsql 函数学习记录 2014/3/20 CREATE FUNCTION sales_tax(subtotal real) RETURNS real AS $$ BEGIN RETURN subtotal * 0.06; END; $$ LANGUAGE plpgsql; CREATE or REPLACE FUNCTION calculate_sum(integer,integer) RETURNS integer AS $$ SELECT $1 + $2 $$ LANGUAGE sql; CREATE OR REPLACE FUNCTION calculate_sum(integer,integer) RETURNS integer AS $$ BEGIN //存储过程需要begin RETURN $1 + $2; //存储过程 这里不能用SELECT 直接RETURN END; //存储过程需要END;结束 $$ LANGUAGE plpgsql; tsvector的值时一个无重复值的lexemes排序列表 SELECT 'a fat cat sat on a mat and ate a fat rat'::tsvector; 结果: "'a' 'and' 'ate' 'cat' 'fat' 'mat' 'on' 'rat' 'sat'" XML类型 使用函数xmlparse:来从字符数据产生xml类型的值: 使用函数xmlparse:来从字符数据产生xml类型的值: XMLPARSE ( { DOCUMENT | CONTENT } value) Examples: FOR v_rec IN select * from ret_row LOOP RETURN NEXT v_rec; END LOOP; XMLPARSE (DOCUMENT '<?xml version="1.0"?><book><title>Manual</title><chapter>...</chapter></book>') XMLPARSE (CONTENT 'abc<foo>bar</foo><bar>foo</bar>') 然而根据sql标准,这是唯一的用于将字串转换成XML值得方式,Postgresql特有的语法是: xml '<foo>bar</foo>' '<foo>bar</foo>'::xml 声明复合类型 下面是两个定义复合类型的简单例子: CREATE TYPE complex AS ( r double precision,i double precision ); CREATE TYPE inventory_item AS ( name text,supplier_id integer,price numeric ); CREATE OR REPLACE FUNCTION calculate_sum(integer,integer) RETURNS SetoF RECORD AS $$ BEGIN CREATE TABLE tab (y int,z int); INSERT INTO tab VALUES (1,2),(3,4),(5,6),(7,8); RETURN QUERY SELECT * FROM tab; END; $$ LANGUAGE plpgsql; RETURNS SetoF RECORD 对应 RETURN QUERY

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐