关存储过程。每次up者有分。

antiga 2002-07-25 11:11:03
本人从来没有使用过存储过程而且听说存储过程速度快,问,如何建立与调用?请各位指教?
...全文
32 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
zys_yun 2002-08-03
  • 打赏
  • 举报
回复
up
wz88 2002-07-30
  • 打赏
  • 举报
回复
upup
freezexiao 2002-07-30
  • 打赏
  • 举报
回复
up
wzljzh 2002-07-30
  • 打赏
  • 举报
回复
凡正我不知用存储过程有什么好处,不过我一般用游标,
chdd 2002-07-30
  • 打赏
  • 举报
回复
up
banalman 2002-07-30
  • 打赏
  • 举报
回复
可使用 Transact-SQL 语句 CREATE PROCEDURE 创建存储过程。创建存储过程前,请考虑下列事项:

不能将 CREATE PROCEDURE 语句与其它 SQL 语句组合到单个批处理中。


创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。


存储过程是数据库对象,其名称必须遵守标识符规则。


只能在当前数据库中创建存储过程。
创建存储过程时,应指定:

所有输入参数和向调用过程或批处理返回的输出参数。


执行数据库操作(包括调用其它过程)的编程语句。


返回至调用过程或批处理以表明成功或失败(以及失败原因)的状态值。
bad_good 2002-07-30
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/900/900507.xml?temp=.4376947
TianChong 2002-07-30
  • 打赏
  • 举报
回复
以MS SQLSERVER为例:

生成存储过程:
打开Query Analyzer,在查询面板里编写你的存储过程代码:
create procedure your_procedure_name
as
......
(这里是你的存储过程的执行代码,根据实际情况编写.)

在PB里调用:

String s_rk=''
DECLARE rk_proc PROCEDURE FOR proc_yprk @shczybm=:str_shczybm;
EXECUTE rk_proc;
FETCH rk_proc INTO :s_rk;
CLOSE rk_proc;
IF SQLCA.SQLCODE<0 then
rollback using sqlca;
Messagebox("失败","药品入库审核失败,请重试! ")
return 1
else
//.........
end if

//--------------OK----------------------



limdaidai 2002-07-30
  • 打赏
  • 举报
回复
up
youngsion 2002-07-28
  • 打赏
  • 举报
回复
先在数据库端写好存储过程,然后在新增数据窗口中,数据源选stored procedure就可以了。
阿鹏兄 2002-07-28
  • 打赏
  • 举报
回复
学习中,up
xiefenger 2002-07-28
  • 打赏
  • 举报
回复
不同的DBMS的语法不是很一样,猪一点吧!
一般来说如果服务器端配置及设置比较好时,用他可以吧大多数工作放在
服务器端,降低客户短的负载,也相应的降低网络流量,有时还是有用的
zyhjolly 2002-07-28
  • 打赏
  • 举报
回复
谁说存储过程就快了?
c12 2002-07-28
  • 打赏
  • 举报
回复
在PB HELP 中输入:DECLARE Procedure
你就知道怎么用了。

Example 1 This statement declares the Sybase SQL Server procedure Emp_proc for the database specified in the default transaction object. It references the Emp_name_var and Emp_sal_var variables, which must be set to appropriate values before you execute the EXECUTE Emp_proc command:

DECLARE Emp_proc procedure for GetName

@emp_name = :Emp_name_var,
@emp_salary = :Emp_sal_var ;

然后执行:EXECUTE Emp_proc ;
joss 2002-07-25
  • 打赏
  • 举报
回复
比方说用SQL SEVER数据库
就在数据库的管理面板中定存储过程
存储过程实际就是一段相对独立的程序代码
目的为了减少网络间的数据流量,加快网络传输
liangshi001 2002-07-25
  • 打赏
  • 举报
回复
存儲過程是在數據庫中建立的.就象存在數據庫中的一個程式.
調用時傳遞參數給存儲過程,在數據庫服務器處理.
存儲過程的參數有in和out兩種. in是傳給存儲過程的,out是用來接收存儲過程返回的值.
xwmhn 2002-07-25
  • 打赏
  • 举报
回复
对,你先按楼上说的试试,还不行,再继续贴!
antiga 2002-07-25
  • 打赏
  • 举报
回复
存储过程的作用是什么?
WorldMobile 2002-07-25
  • 打赏
  • 举报
回复
写存储过程比较简单,就像二楼所写的就行,调用更简单

declare test_pro procedure for dbo.dt_adduserobject;
execute test_pro;

看一下帮助,里面写的很清楚
antiga 2002-07-25
  • 打赏
  • 举报
回复
to :zry_ykfh(zry) 能否说详细一点,比如说在那儿建立?
加载更多回复(8)

1,072

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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