PB是否可以取得存储过程的两个查询结果

hehong123 2014-04-03 10:24:00
如 create proc usp_test as
select * from tablea;
select * from tableb;


PB调用这个存储时候怎样取得此两个查询结果集,好像只能取得最上面的一个.C#这些是可以
...全文
704 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AndriyChoi 2014-04-19
  • 打赏
  • 举报
回复
union all一下不就行了吗
MissSD 2014-04-08
  • 打赏
  • 举报
回复
引用 1 楼 lzp_lrp 的回复:
[quote=引用 楼主 qq281803181 的回复:] 如 create proc usp_test as select * from tablea; select * from tableb; PB调用这个存储时候怎样取得此两个查询结果集,好像只能取得最上面的一个.C#这些是可以
把后台把这两个sql语句的结果插入到一个表中,然后在pb中再从表中取即可[/quote] 把后台把这两个sql语句的结果插入到一个表中,就像我有一个工资表里面没有数据。 我有应发工资和代扣两个部分,其中应发工资是查询个人信息中的职务得到的,而代扣部分是手动输入的。像这样。 我怎么写数据库过程?又调用它? 我写了一个差不多的前面查询的过程。 可是我怎么通过dw显示出来,下面又要留有输入代扣的空格? CREATE OR REPLACE Function sf_yfgz_zcwage(empid0 In Varchar2,zcwage Out Number,zwwage Out Number) Return px_emp000.ename0%Type As v_ename0 px_emp000.ename0%Type; Begin Select ename0 Into v_ename0 From px_emp000 Where empid0=empid0; Select zc.zcwage,zw.zwwage Into zcwage,zwwage From px_emp000 e,px_zc0000 zc,px_zw0000 zw Where e.zcid00=zc.zcid00 And e.zwid00=zw.zwid00 And e.empid0=empid0; --查询出基本工资和职务工资 Select mksjt0 Into v_gz From px_emp000 e,px_jxjt00 j Where e.zcid00=j.zcid00 And e.empid0=empid0 --查询每课时津贴 Select keshis Into v_gz From px_emp000 e,px_grjxdj g Where e.empid0=g.empid0 And gdjtime=djtime select g.keshis*j.mksjt0 Into v_gz From px_emp000 e,px_grjxdj g,px_jxjt00 j Where e.zcid00=j.zcid00 And g.djtime=djtime And e.empid0=empid0 --查询教学津贴 Select k.mykyjt Into v_gz From px_emp000 e,px_kyjt00 k Where e.zcid00=k.zcid00 And e.empid0=empdi0 --查询科研津贴 Return v_ename0; End; 我想要输入工资月份和员工编号,得到基本工资和职务工资科研津贴教学津贴,显示在一个dw中。dw用的表是工资表 然后我输入代扣,然后点击计算。算出应发工资。然后点击保存然后最后才保存到工资表中。。。这已经困扰了。我2周了。。。 估计第三周还是这样。。我觉得我要丢了我人生中的第一份工作了。
fengxiaohan211 2014-04-08
  • 打赏
  • 举报
回复
顶楼上。。。,。。
hehong123 2014-04-08
  • 打赏
  • 举报
回复
group by empid0 上面少写了一句,随便写了一下,没检测,大概差不多,不用存储过程,直接在里面来
hehong123 2014-04-08
  • 打赏
  • 举报
回复
select empid0 ,max( zcwage) as zcwage , max( zwwage) as zcwage ,max (mksjt0) as mksjt0 ,max(mksjt0) as keshis from ( Select e. empid0, zcwage, zwwage,0 as mksjt0 ,0 keshis From px_emp000 e,px_zc0000 zc,px_zw0000 zw Where e.zcid00=zc.zcid00 And e.zwid00=zw.zwid00 And e.empid0=empid0; --查询出基本工资和职务工资 union all select e.empid0,0 as zcwage, 0 as zwwage,mksjt0,0 as keshis From px_emp000 e,px_jxjt00 j Where e.zcid00=j.zcid00 And e.empid0=empid0 --查询每课时津贴 union all select e.empid0,0 as zcwage, 0 as zwwage, 0 as mksjt0, keshis From px_emp000 e,px_grjxdj g Where e.empid0=g.empid0 And gdjtime=djtime union all select g.keshis*j.mksjt0 Into v_gz From px_emp000 e,px_grjxdj g,px_jxjt00 j Where e.zcid00=j.zcid00 And g.djtime=djtime And e.empid0=empid0 --查询教学津贴 ) a
WorldMobile 2014-04-07
  • 打赏
  • 举报
回复
引用 楼主 qq281803181 的回复:
如 create proc usp_test as select * from tablea; select * from tableb; PB调用这个存储时候怎样取得此两个查询结果集,好像只能取得最上面的一个.C#这些是可以
把后台把这两个sql语句的结果插入到一个表中,然后在pb中再从表中取即可

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧