Article View: cn.bbs.comp.program
Article #1081Sybase�洢��̵Ľ�����ʹ��
From: ���ܵ�Сʨ
Date: Thu, 07 May 1998 00:00
Date: Thu, 07 May 1998 00:00
168 lines
10723 bytes
10723 bytes
�洢��̵��ص�Sybase�Ĵ洢����Ǽ��д洢��SQL Server�е�Ԥ
�ȶ������Ѿ�����õ����洢�����SQL�������̿��������
�ɡ���Ĺ��ܰ���:���ܲ���;������һ���;����һ��״ֵ̬�����
��̻�����,ָʾ���óɹ���ʧ��;�������ɸ�����ֵ����ù�̻�
����,Ϊ�������ṩ��̬���;��Զ��SQL Server�����еȡ�
�洢��̵������ص�����:
���洢�����Ԥ������,�����ζ��������ͨ��SQL������
���SQL��䲻ͬ�����״�����һ���洢���ʱ,SQL Server�IJ�ѯ��
����������з���,���ų��������֮���γɴ洢��ϵͳ�еĿ�ִ
�з��������ڲ�ѯ����Ĵֹ����Ѿ����,���Դ洢���ִ����
�Ⱥܿ졣
���洢��̺ʹ������ݶ�����ͬһ̨����SQL Server�ļ���
����,ʹ�ô洢��̲�ѯ���ص����,Ч����Ȼ�ܸߡ�
���洢���һ�����Client��ͨ��洢��̵����ֽ��е���,��
�����͵�ֻ�Ǵ洢��̵����ּ������IJ���(����еĻ�),����
���ɴ洢��̵����SQL���,��˿��Լ������紫����,�ӿ�ϵͳ��
Ӧ�ٶȡ�
���洢��̻�������ͬC�����Ӻ�������ı����úͷ���ֵ�ķ�
�����ԡ�
����,�洢��̴����ǿ��SQL���ԵĹ��ܡ�Ч�ʺ�����ԡ�����
��Ӧ�úô洢���,�Խ�һ������Sybase��ݿ�ϵͳ��ǿ��������
��Ҫ�����塣
�洢��̵������
�����洢��̵������Ϊ:
CREATE PROCedure[owner.]procedurename[;number]
[[(]@parameter_name datatype[=default][OUTput]
[,@parameter_name datatype[=default][OUTput]]...[)]]
[WITH RECOMPILE]
AS SQL_statements
ʹ�ô洢��̵������Ϊ:
[EXECute][@return-status=]
[[[server.]database.]owner.]procedurename[;number]
[[@parameter_name=]value|[@parameter_name=]@varialbe[OUT
put]
[,[@parameter_name=]value|[@parameter_name=]@variable[OU
Tput]...]]
[WITH RECOMPILE]
�����Ҫ��������������ij���ѡ���Լ�������ʹ�ô洢��̵�
Ҫ��,����ѡ��ĸ�Ϊ��ϸ��˵����ο��й��ֲᡣ
��[[[server.]database.]owner.]procedure_name:�洢��̵�
���֡�
��@parameter_name datatype[=default][OUTput]:��ʽ����(��
��)����ơ����͡�df ault�Ǹ����ȱʡֵ(��ѡ),OUTputָ������
��Ϊ�������(��ѡ)���β��Ǵ洢����е��Ա���,�����ж��,����
������@��ͷ,�30���ַ�
��SQL_statements:����洢��̹��ܵ�SQL��䡣
��@return_status:���ܴ洢��̷���״ֵ̬�ı�����
��[@parameter_name=]value:ʵ�ʲ���(ʵ��),@parameter_name
Ϊʵ�ε����(��ѡ)�����ij��ʵ����@parameter_name=value�ṩ,
��ô����ʵ��Ҳ��Ҫ������һ��ʽ�ṩ��
��[@parameter_name=]@varialbe[OUTput]:������@varialbe��
��ֵ��Ϊʵ�δ��ݸ��β�@parameter_name(��ѡ),������@varialb
e���������ܷ��صIJ���ֵ,��ѡ��OUTput����ȱ�١�
�洢��̵Ľ�����ʹ��
���ǽ�ͨ������ӽ��н��ܡ�
������һ�������������ɵļ��ܹ��ʱ�RS-LS-GZ-JiNeng:
create table RS_LS_GZ_JiNeng /*���ܹ��ʱ�*/
(GeRen_id char(4), /*���˴��� */
RiQi smalldatetime, /*ִ������ */
YuanYin_id char(1) null, /*�䶯ԭ����� */
JinE smallmoney) /*���ܹ��ʽ�� */
�ñ�洢��ij��λԱ�����������ܹ��ʵ���ʷ������
��1.���Ҫ��ѯȫ��Ա���ļ��ܹ��ʱ䶯��ʷ,����Ƚ���һ��
�洢���p-RsGz-JiNeg -All:
create procedure p_RsGz_JiNeng_All
as
select *
from RS_LS_GZ_JiNeng
order by GeRenid,RiQi
Ȼ�������������ô洢���p_RsGz_JiNeng_All���в�ѯ:
execute p_RsGz_JiNeng_All
����ֻ��ʾ��ѯ�������,�����롢�������,�����һ����
����̡�
��2.���Ҫ��ѯij�˼��ܹ��ʵı䶯��ʷ,�ɽ�����һ���洢��
��p_RsGz_JiNeng:
create procedure p_RsGz_JiNeng
@c_GeRenId char(4)
as
select *from RS_LS_GZ_JiNeng
where GeRen_id=@c_GeRenId
order by RiQi
֮�������������ô洢���p_Rs_Gz_JiNeng���в�ѯ:
declare @GeRenId char(4)
select @GeRenId="0135" /*��Ҫ��ѯԱ���ĸ��˴���Ϊ"0135"
*/
execute p_RsGz_JeNeng @c_GeRenId=@GeRenId
�洢���p_RsGz_JiNeng�ж�����һ���β�@c_GeRenId,���ַ���
�������ڵ��øù�̵�������,�ȿ����þ����ֵҲ�����ñ�����
Ϊʵ�Ρ��ñ�����ʵ��(�籾��)ʱ,������del are������˵����ֵ
��ע�����,������ĵ��ù�������,@c_GeRenId=@GeRenId�е�@
c_GeRenId�Ǵ洢���p_RsGz_JiNeng�е��β���,���������еı�
��,���Բ��ܽ�������d eclare���ı������С�
��3.���Ҫ���㵱�¹���,�ͱ���ӹ�����ʷ�в��Ա�����뵱
ǰ����һ�μ��ܹ��ʱ䶯�Ľ��:
create procedure p_RsGz_JiNeng_Slt
(@c_GeRenId char(4),@sm_JinE smallmoney output)
as
select @sm_JinE=JinE
from RS_LS_GZ_JiNeng
where RiQi=(select max(RiQi)
from RS_LS_GZ_JiNeng
where GeRenid=@c-GeRenId)/*�ҳ���ʷ��¼�о��뵱ǰ����
����*/
���ô洢���p_RsGz_JiNeng_Slt���в�ѯ:
declare @GeRenId char(4),@JinE smallmoney
select @GeRenid="0135"/*��Ҫ��ѯԱ���ĸ��˴���Ϊ"0135"*/
select @JinE=0
execute p_RsGz_JiNeng_slt @c_GeRenId=@GeRenId,@sm_JinE=@
JinE output
����,���� @JinE�����洢����β�@sm_JinE���صĽ��ڵ�
�ù�������,@sm_JiE = @JinE output�е�output����ʡ�ԡ�����,
����@JinE���ò����βδ��ص���ֵ��ʼ��Ϊ��(���ڳ�ֵ)��
��4.�鵽�˸��˴���Ϊ"0135"Ա���ļ��ܹ��ʾ���ʾ����ʷ��¼
,�鲻������ʾһ��������Ϣ��
create procedure p_RsGz_JiNeng_Rtn
@c_GeRenId char(4)
as
declare @ErrCode smallint
select @ErrCode=0
if exists(select* from RS-LS-GZ-JiNeng
where GeRenid=@c-GeRenId)
begin
select *
from RS_LS_GZ_JiNeng
whrer GeRen_id=@c_GeRenId
order by RiQi
return @ErrCode
end
esle
begin
select @ErrCode=1
return @ErrCode
end
���ô洢���p_RsGz_JiNeng_Rtn:
declare @GeRenId char(4),@RtnCode smallint
select @GeRenId="0135"
select @RtnCode=0
execute @RtnCode=p_RsGz_JiNeng_Rtn @c_GeRenId=@GeRenId
if @RtnCode=1
print"No this one!"
�洢���p_RsGz_JiNeng_Rtn������߷���һ���洢�ڱ���@ErrC
ode���ֵ,���ֵ����Ϊ״ֵ̬,��������߷�ӳ�洢���ִ�еij�
��״̬���ڱ�����,���鲻��ָ��Ա�����ܹ��ʵ��κμ�¼ʱ,����
Ϊ"������",���س���״ֵ̬1������,���سɹ�״ֵ̬0��
���ù�̵��������ʹ�ñ���@RtnCode�洢���ص�״ֵ̬,һ
������洢���p_RsG_ JiNeng_Rtn�����˴����־(@RtnCode=1),��
��ʾһ����Ϣ"No this one!"��
��
�����ĸ����Ӽ�Ҫ�����˴洢��̳��õļ�����ʽ,����������
���������Ե���ı����ɫ�Լ�ʹ���ϵ�����Ժͷ����ԡ�
��Ȼ���������ڵ��ô洢���ʱ������SQL���������ʵ�ֵ�,
��������ζ������Ψһ�ķ����������ڴ洢����е��ô洢���(��
��ν���Ƕ��)������ͺܳ�������,������Sybase��ݿ��ϵͳ
(��PowerBuilder)�� script����е���Sybase�Ĵ洢���Ҳ�dz���
�顣
--
________ _____ _____ ______________ _____
___ __ \___(_)________ ___(_) __ ___/___ /_ ___(_)
__ /_/ /__ / ___ __ \__ / _____ \ __ __ \__ /
_ ____/ _ / __ /_/ /_ / ____/ / _ / / /_ /
/_/ /_/ _ .___/ /_/ /____/ /_/ /_/ /_/
/_/
[m[1;36m�� ��Դ:���ϴ�С�ٺ���Ϣ����վ bbs.nju.edu.cn��[FROM: hsia.nju.edu.cn][m
Technical Details
Message-ID:
<3OOYLi$u10@bbs.nju.edu.cn>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: fc86e,92246f1e0118cbb4,start X-Google-Attributes: gidfc86e,public From: pipishi.bbs@bbs.nju.edu.cn (���ܵ�Сʨ) Subject: Sybase�洢��̵Ľ�����ʹ�� Date: 1998/05/07 Message-ID: <3OOYLi$u10@bbs.nju.edu.cn> X-Deja-AN: 351560151 X-Filename: Programming/M.894547484.A Organization: nju_bbs Newsgroups: cn.bbs.comp.program