Thread View: cn.bbs.comp.program
1 messages
1 total messages
Started by ���ܵ�Сʨ
Thu, 07 May 1998 00:00
Sybase�洢��̵Ľ�����ʹ��
Author: ���ܵ�Сʨ
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
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads