请教及个关于存储过程的问题

hkzhou 2003-05-20 03:36:04
1;在PB.80中如何调用存储过程
我是这样用的请问有什么错误??
DECLARE emp_proc PROCEDURE FOR proc_hk_xlkhgxlfx @date1=:date1,@date2=:date2,@date3=:date3,@date4=:date4,@date5=:date5,@date6=:date6,@date7=:date7,@date8=:date8;
execute emp_proc;
不知道为什么没反应 而在sql advantage 中却成功执行了??
2:创建临时表是否有空间限制(或者如下代码有什么错误)
create table #temptable
(khdm char(6),slsj decimal(12,4) null,sljqpjjj decimal(12,4))
insert #temptable
select khdm,sum(sl*sj),sum(sl*jqpjjj)
from yy_xsmxz
where (xsxtrq<=@date2 and xsxtrq>=@date1) and sl>0 and sl is not null
group by khdm

create table #tqtemptable
(khdm char(6),slsj decimal(12,4),
sljqpjjj decimal(12,4))
insert #tqtemptable
select khdm,sum(sl*sj),sum(sl*jqpjjj)
from yy_xsmxz
where (xsxtrq<=@date4 and xsxtrq>=@date3) and sl>0 and sl is not null
group by khdm

第一个临时表#temptable 可以显示共16行@date1='2002-5-17' @date2='2003-5-17'
而第二个 临时表#tqtemptable 却位空行@date3='2001-5-17' @date4='2003-5-17'
但是在sql advantage 中

select khdm,sum(sl*sj),sum(sl*jqpjjj)
from yy_xsmxz
where (xsxtrq<=@date4 and xsxtrq>=@date3) and sl>0 and sl is not null
group by khdm
可以显示很多行 起码有200多行
为什么?????
3:在存储过程中如何把decimal类型转换成varchar 是哪个函数?

...全文
48 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengyu17 2003-05-20
  • 打赏
  • 举报
回复
在执行存储过程前,需将sqlca.autocommit = TRUE,执行完后sqlca.autocommit=FALSE
RechardXc 2003-05-20
  • 打赏
  • 举报
回复
没有反应是什么具体情况?

sqlcode = ?

PB中调用建立临时表的过程要autocommit = true
yyhll 2003-05-20
  • 打赏
  • 举报
回复
1. 应该这样执行: exec :emp_proc using sqlca;
2. 要看你的tempdb所分配的设备空间.
3. convert(varchar,@var)

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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