本帖最后由 bruce 于 2020-7-17 09:44 编辑

说一个使用场景。很多时候我们需要调用外部数据源(数据库),来完成我们取数。

  目前云表的,外部数据源 只支持 数据表和视图,不支持存储过程。
我们需要取数一些复查的查询数据时,只能先建立一个视图。
调用视图时,有一个问题,视图数据量非常大的时候,接口取数非常慢,会导致云表提示超时。其实我们需要的数据只有一点点,而视图又不支持参数传递。除了优化视图sql外还有什么办法吗?

答案:  直接调用存储过程,传递参数过去,直接取出我们需要的数据。
如何调用呢?我的思路如下。
     ① 在云表中建立两个个辅助模板。              第一个模板为,《触发存储过程模板,建立一个【 单据编号】 字段,设置好权限。就可以了。   设计思路入下图,下图 因为我需要传递的参数较多,设计的字段也比较多。

              第二个模板为,《临时数据模板 。 数据表,建立为主表。字段设置:一个单据编号字段,和需要返回的其他字段 ,保存模板。
                                建立数据接口 { 查询数据(单据编号,其他参数1,他参数2,...) }
注意:图仅供参考,各位按照自己 的实际需求设计模板字段。

            
         ② 在云表的数据库中建立好存储过程(sql),设定好参数变量(包含单据编号)。编写代码规则如下,当执行存储过程时,将查询结果的数               据插入到 《临时数据模板中对应的字段。


        ③在数据库中找到这个《触发存储过程模板的数据表,建立 insert 触发器,执行存储过程。


数据库这里的操作就完成了。


        ④在需要取数的模板 建立填表公式,

               1 添加 工具栏 按钮 【取数】;
               2 添加填表公式 “新建表单 模板选择《临时表》;

               3 添加赋值公式。 数据来源1 选择模板数据源接口, 找到《临时数据模板》 中的 { 查询数据(单据编号,其他参数1,他参数2,...) } 这个接口,绑定好参数, 然后进行对应的赋值操作。






QQ图片20200717092828.png

QQ图片20200717092828.png

QQ图片20200717092905.png

QQ图片20200717092905.png
对该帖+5 经验,并说 很给力!
+10
4人收藏
14 条回帖
铁甲钢拳云仙2020-7-16 15:33:54
感谢您的分享,如果能加一些图片来描述就更好啦
+10
铁甲钢拳云仙2020-7-16 16:17:56
好的哦
+10
郑应春云师2020-7-16 21:40:50
看起来,很高级的样子,哈哈。赞一个先。。
+10
刘利剑vNf版主2020-7-17 08:29:18
可否截图实际案例说明一下,谢谢。
+10
沈阳云侠楼主2020-7-17 09:30:06
更新了图片
+10
andrew0756云师2020-7-17 09:37:30
学习了,还能这么玩
+10
杨钊云侠2020-7-17 14:04:15
先点赞回帖留名再看,板凳支持
+10
lakery云粉2020-7-17 15:08:35
好贴,学习学习!
+10
wlsh2016云侠2020-7-20 16:02:16
这个存储过程是建个哪个数据库的,是外部数据库,还是云表数据库
+10
12下一页
需要登录后才可进行回复 登录

玩转云表从入门到精通
扫码添加微信立即领取

·云表创始人授课文件
·加入社群与培训学习
·切磋云表开发玩法

商务咨询:0756-3335860
客服咨询