Postgresql存储过程的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Postgresql存储过程的问题

2016-02-20 15:59:01 3724 1

在POSTGRESQL中写存储过程,感觉几个问题
1)定义类型
不能像ORACLE那样,直接就可以在存储过程中定义,非要预先在存储过程外定义好类型,才能使用,比较麻烦,缺乏灵活性,因为很多类型,只是临时性使用,或者只在本过程中用。
2)表类型
在ORACLE中有个TABLE类型,非常好用,可以把数据检索出来,放在这个类型里处理,但POSTGRESQL中无此类型,目前还不知道有何方法,跟ORACLE表类型类似
3)批处理
在ORACLE中,有个BULK COLLECT ,可以批量检索数据,检索磁盘IO次数,可以大幅度提高效率,
但POSTGRESQL中,还没有类似功能 ,虽然POSTGRESQL可以使用FETCH 100 FROM CURSOR_X 批量列出,但没办法返回到一个集合变量里,比如在存储过程中,FETCH INTO 只能返回一条结果到变量,处理大量数据时,效率会比较低。
4)判断表是否存在,
例如没有CREATE TABLE XXXX IF NOT EXIST TABLE这样的语句,导致在存储过程中需要建立临时表时候,
可能重复建立,导致出错。
这几个功能很重要,不知道POSTGRESQL为何不实现???。

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 18:45:26

    1) postgresql支持存储过程里面定义类型或变量,以及初始化值和动态执行等高级特性
    2)postgresql也有type类型,create type type_name(col1,col2)
    3)临时表可以变通
    4)postgresql 9.x版本支持这个语法
    你用的数据库版本是否比较低,所以有些功能没有实现。

    0 0
相关问答

1

回答

PostgreSQL是什么?

2022-05-09 22:29:01 92浏览量 回答数 1

1

回答

PostgreSQL同步至RDS PostgreSQL中的准备工作是什么?

2021-12-13 12:05:19 174浏览量 回答数 1

1

回答

sql中,什么是存储过程?用什么来调用?

2021-10-13 10:54:27 638浏览量 回答数 1

0

回答

postgresql双机热备

2020-06-22 17:56:06 307浏览量 回答数 0

0

回答

postgresql rule

2017-12-01 11:25:55 2633浏览量 回答数 0

1

回答

Postgresql热备

2017-08-01 17:42:00 6774浏览量 回答数 1

1

回答

PostgreSQL全文检索的性能问题

2016-10-01 11:45:56 3302浏览量 回答数 1

1

回答

mysql存储过程列长度过大的问题

2016-02-12 14:52:01 2186浏览量 回答数 1

1

回答

MYSQL回滚的存储过程问题

2016-02-11 18:28:18 2771浏览量 回答数 1

3

回答

什么样的网站和场景才会用PostgreSQL?MySql搞不定?

2016-02-03 13:09:24 5360浏览量 回答数 3
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载