需要完成一个视图作为报表的数据源,其中有几个值需要从其他表中的字段进行较复杂的计算来获得,写好了一个存储过程,怎么才能在创建视图的select--from--语句中调用这个存储过程,并将这几个存储过程输出的值放入视图中?(视图中也没有对应的字段来存储这几个值)
存储过程的输入参数为视图中的两个字段值。
这种情况是否是用存储函数更好?
首先,oracle的存储过程没有return,因此不能在select语句里直接使用。
然后,在oracle里有个东西,叫做表函数。
常规的函数只能接在select后面作为一个字段,此时只能针对该行的一个值或者多个值来进行计算,肯定是达不到你想要的效果的,
而且你最终需要输出的数据为多列,因此此时只能使用接在from后面的表函数。
我下面这篇文章最后有个表函数的例子,你可以参考一下,不懂再问
【ORACLE】谈一谈Oracle数据库使用的字符集,不仅仅是乱码_DarkAthena的博客-CSDN博客 一、前言先看一个比较有意思的案例上面这个sql,查询了a和b两个字段,均为"张三"两个汉字,并且使用length函数检查,长度均为2。但是,当你看到下面这几个sql的输出结果时,很有可能第一反应是:"这特喵的怎么可能?"其实,你所看到的两个"张三",的确长得是一模一样,用显微镜去看也不可能看到区别。但为什么a和b不相等呢?这是因为组成他们的成分不一样,这个成分就是 字符集二、什么是字符集?百度百科简单来说,字符(Character)是各种文字和符号的总称,包括各国家文字、标
https://darkathena.blog.csdn.net/article/details/122659532?spm=1001.2014.3001.5502 视图不能调用存储过程,建议建一个临时表进行处理。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>>
https://vip.csdn.net/askvip?utm_source=1146287632