¡¾·±ÌåÖÐÎÄ¡¿
¡¾ÉèΪÊ×Ò³¡¿
¡¾¼ÓÈëÊղء¿
µ±Ç°Î»ÖãºÊý¾Ý¿â¼¼ÊõÊ×Ò³ >> Êý¾Ý¿â¿ª·¢ >> Sybase´æ´¢¹ý³ÌµÄ½¨Á¢ºÍʹÓÃ

Sybase´æ´¢¹ý³ÌµÄ½¨Á¢ºÍʹÓÃ

2005-01-09 20:42:18  ×÷Õߣºnm  À´Ô´£º»¥ÁªÍø  ä¯ÀÀ´ÎÊý£º34  ÎÄ×Ö´óС£º¡¾´ó¡¿¡¾ÖС¿¡¾Ð¡¡¿
¼ò½é£º´æ´¢¹ý³ÌµÄÌØµã ¡¡¡¡SybaseµÄ´æ´¢¹ý³ÌÊǼ¯Öд洢ÔÚSQL ServerÖеÄÔ¤Ïȶ¨ÒåÇÒÒѾ­±àÒëºÃµÄÊÂÎñ¡£´æ´¢¹ý³ÌÓÉSQLÓï¾äºÍÁ÷³Ì¿ØÖÆÓï¾ä×é³É¡£ËüµÄ¹¦ÄܰüÀ¨:½ÓÊܲÎÊý;µ÷ÓÃÁíÒ»¹ý³Ì;·µ»ØÒ»¸ö״ֵ̬¸øµ÷Óùý³Ì»òÅú´¦Àí,Ö¸...
¹Ø¼ü×Ö£º´æ´¢ ¹ý³Ì Sybase

´æ´¢¹ý³ÌµÄÌØµã

¡¡¡¡SybaseµÄ´æ´¢¹ý³ÌÊǼ¯Öд洢ÔÚSQL ServerÖеÄÔ¤Ïȶ¨ÒåÇÒÒѾ­±àÒëºÃµÄÊÂÎñ¡£´æ´¢¹ý³ÌÓÉSQLÓï¾äºÍÁ÷³Ì¿ØÖÆÓï¾ä×é³É¡£ËüµÄ¹¦ÄܰüÀ¨:½ÓÊܲÎÊý;µ÷ÓÃÁíÒ»¹ý³Ì;·µ»ØÒ»¸ö״ֵ̬¸øµ÷Óùý³Ì»òÅú´¦Àí,ָʾµ÷Óóɹ¦»òʧ°Ü;·µ»ØÈô¸É¸ö²ÎÊýÖµ¸øµ÷Óùý³Ì»òÅú´¦Àí,Ϊµ÷ÓÃÕßÌṩ¶¯Ì¬½á¹û;ÔÚÔ¶³ÌSQL ServerÖÐÔËÐеȡ£

¡¡¡¡

¡¡¡¡´æ´¢¹ý³ÌµÄÐÔÄÜÌØµãÈçÏÂ:

¡¡¡¡·´æ´¢¹ý³ÌÊÇÔ¤±àÒë¹ýµÄ,Õâ¾ÍÒâζ×ÅËüÓëÆÕͨµÄSQLÓï¾ä»òÅú´¦ÀíµÄSQLÓï¾ä²»Í¬,µ±Ê×´ÎÔËÐÐÒ»¸ö´æ´¢¹ý³Ìʱ,SQL ServerµÄ²éѯ´¦ÀíÆ÷¶ÔÆä½øÐзÖÎö,ÔÚÅųýÁËÓï·¨´íÎóÖ®ºóÐγɴ洢ÔÚϵͳÖеĿÉÖ´Ðз½°¸¡£ÓÉÓÚ²éѯ´¦ÀíµÄ´ó²¿·Ö¹¤×÷ÒѾ­Íê³É,ËùÒÔ´æ´¢¹ý³ÌÖ´ÐÐËٶȺܿ졣

¡¡¡¡·´æ´¢¹ý³ÌºÍ´ý´¦ÀíµÄÊý¾Ý¶¼·ÅÔÚͬһ̨ÔËÐÐSQL ServerµÄ¼ÆËã»úÉÏ,ʹÓô洢¹ý³Ì²éѯµ±µØµÄÊý¾Ý,ЧÂÊ×ÔÈ»ºÜ¸ß¡£

¡¡¡¡·´æ´¢¹ý³ÌÒ»°ã¶àÓÉClient¶Ëͨ¹ý´æ´¢¹ý³ÌµÄÃû×Ö½øÐе÷ÓÃ,¼´¿çÍø´«Ë͵ÄÖ»ÊÇ´æ´¢¹ý³ÌµÄÃû×Ö¼°ÉÙÁ¿µÄ²ÎÊý(Èç¹ûÓеϰ),¶ø²»Êǹ¹³É´æ´¢¹ý³ÌµÄÐí¶à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[OUTput]

¡¡¡¡[,[@parameter_name=]value¦[@parameter_name=]@variable[OUTput]...]]

¡¡¡¡[WITH RECOMPILE]

¡¡¡¡ÏÂÃæ¼òÒª½éÉÜÕâÁ½¸öÃüÁîµÄ³£ÓÃÑ¡ÏîÒÔ¼°½¨Á¢ºÍʹÓô洢¹ý³ÌµÄÒªµã,¹ØÓÚÑ¡ÏîµÄ¸üΪÏêϸµÄ˵Ã÷Çë²Î¿¼ÓйØÊֲᡣ

¡¡¡¡·[[[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(¿ÉÑ¡),Èç¹û±äÁ¿@varialbeÊÇÓÃÀ´½ÓÊÜ·µ»ØµÄ²ÎÊýÖµ,ÔòÑ¡Ïî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Ïòµ÷ÓÃÕß·µ»ØÒ»¸ö´æ´¢ÔÚ±äÁ¿@ErrCodeÀïµÄÖµ,Õâ¸öÖµ±»³ÆÎª×´Ì¬Öµ,ËüÏòµ÷ÓÃÕß·´Ó³´æ´¢¹ý³ÌÖ´ÐеijɰÜ״̬¡£ÔÚ±¾ÀýÖÐ,Èç¹û²é²»µ½Ö¸¶¨Ô±¹¤¼¼Äܹ¤×ʵÄÈκμǼʱ,¾ÍÈÏΪ"²éÎÞ´ËÈË",·µ»Ø³ö´í״ֵ̬1¡£·ñÔò,·µ»Ø³É¹¦×´Ì¬Öµ0¡£

¡¡¡¡µ÷Óùý³ÌµÄÅú´¦ÀíÓï¾äʹÓñäÁ¿@RtnCode´æ´¢·µ»ØµÄ״ֵ̬,Ò»µ©¼ì³ö´æ´¢¹ý³Ìp_RsG_ JiNeng_Rtn·µ»ØÁË´íÎó±êÖ¾(@RtnCode=1),¾ÍÏÔʾһÌõÐÅÏ¢"No this one!"¡£

¡¡¡¡Ð¡½á

¡¡¡¡ÉÏÊöËĸöÀý×Ó¼òÒª½éÉÜÁË´æ´¢¹ý³Ì³£Óõļ¸ÖÖÐÎʽ,´ÓÖÐÎÒÃÇÒѾ­¿ÉÒÔÁìÂÔµ½ËüµÄ±à³ÌÌØÉ«ÒÔ¼°Ê¹ÓÃÉϵÄÁé»îÐԺͷ½±ãÐÔ¡£

¡¡¡¡ËäÈ»ÉÏÊöÀý×ÓÔÚµ÷Óô洢¹ý³Ìʱ¶¼ÊÇÓÃSQLµÄÅú´¦ÀíÓï¾äʵÏÖµÄ,µ«²¢²»Òâζ×ÅÕâÊÇΨһµÄ·½·¨¡£ÀýÈçÔÚ´æ´¢¹ý³ÌÖе÷Óô洢¹ý³Ì(¼´Ëùν¹ý³ÌǶÌ×)µÄÏÖÏó¾ÍºÜ³£¼û¡£ÁíÍâ,ÔÚÆäËüSybaseÊý¾Ý¿â¿ª·¢ÏµÍ³ (ÈçPowerBuilder)µÄ scriptÓï¾äÖе÷ÓÃSybaseµÄ´æ´¢¹ý³ÌÒ²·Ç³£ÆÕ±é¡£

ÔðÈα༭£ºadmin
Ïà¹ØÎÄÕÂ