ʵÑé14 ´æ´¢¹ý³ÌÓ뺯Êý ÏÂÔØ±¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/9/10 11:16:40ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

(1) ²»´ø²ÎÊýʱ

EXEC P_CPXS3 Çë¸ø³öÖ´Ðнá¹û£º

(2) ²»´ø²ÎÊýʱ

EXEC P_CPXS3 ¡®²Êµç¡¯ Çë¸ø³öÖ´Ðнá¹û£º

µÚ 6 Ò³ ¹² 17 Ò³

2. Êä³ö²ÎÊý£¨±ä²Î£©

ʵÑé14-6£ºÀûÓÃÊä³ö²ÎÊý¼ÆËã½×³Ë¡£

USE CPXS

¨CÅжÏϵͳÖÐÊÇ·ñÓÐÃûΪfactorialµÄ´æ´¢¹ý³Ì£¬ÈôÓУ¬Ôòɾ³ýÖ® IF EXISTS(SELECT name FROM sysobjects WHERE name='factorial' AND type='P') DROP PROCEDURE factorial

GO --Ç°ÃæÕâ¶Î½öÊÇ×¼±¸¹¤×÷£¬ÕæÕýµÄ¹¤×÷ÔÚÖ®ºó CREATE PROCEDURE factorial --´´½¨´æ´¢¹ý³Ì @in float, --ÊäÈëÐÎʽ²ÎÊý @out float OUTPUT --Êä³öÐÎʽ²ÎÊý AS

DECLARE @i int DECLARE @s float SET @i=1 SET @s=1 WHILE @i<=@in BEGIN

SET @s=@s*@i SET @i=@i+1 END

SET @out=@s --¸øÊä³ö²ÎÊý¸³Öµ

µ÷Óô洢¹ý³Ì£º

DECLARE @ou float ¨C¶¨Òå±äÁ¿£¬ÓÃÓÚ´æ´¢½á¹ûÖµ EXEC factorial 5,@ou OUT --ʵ²Î±í PRINT @ou Çë¸ø³öÖ´Ðнá¹û£º

µÚ 7 Ò³ ¹² 17 Ò³

µÚ 8 Ò³ ¹² 17 Ò³

14.4. ´´½¨Óû§×Ô¶¨Ò庯Êý

1. ʹÓô洢¹ý³ÌÄ£°å´´½¨´æ´¢¹ý³Ì

ÔÚ¡¾¶ÔÏó×ÊÔ´¹ÜÀíÆ÷¡¿´°¿ÚÖУ¬Õ¹¿ª¡°Êý¾Ý¿â¡±½Úµã£¬ÔÙÕ¹¿ªËùÑ¡ÔñµÄ¾ßÌåÊý¾Ý¿â½Úµã£¬ÔÙÕ¹¿ªÑ¡Ôñ¡°¿É±à³ÌÐÔ¡±½Úµã£¬ÓÒ»÷¡°º¯Êý¡±£¬Ñ¡Ôñ¡°Ð½¨¡±ÃüÁÔÚÏÂÒ»¼¶²Ëµ¥ÖÐÑ¡ÔñÊʺϵÄÑ¡ÏÈçͼËùʾ£º

ÔÚÓÒ²à²éѯ±à¼­Æ÷ÖгöÏÖº¯ÊýµÄÄ£°å£¬¿ÉÒÔÔÚ´Ë»ù´¡Éϱ༭º¯Êý£¬µ¥»÷¡°Ö´ÐС±°´Å¥£¬¼´¿É´´½¨¸Ãº¯Êý¡£

µÚ 9 Ò³ ¹² 17 Ò³

2. ʹÓÃT-SQLÓï¾ä´´½¨º¯Êý

º¯Êý·ÖΪ±êÁ¿º¯ÊýºÍ±íÖµº¯Êý¡£Ç°Õß·µ»ØÒ»¸ö±êÁ¿Öµ½á¹û£¬ÔÚ´´½¨º¯Êýʱ£¬Ó¦ÔÚReturnsÓï¾äºóÖ¸Ã÷±êÁ¿ÀàÐÍ(È磺int )£»ºóÕßÒÔ±íµÄÐÎʽ·µ»Ø½á¹û£¬ÔÚ´´½¨º¯Êýʱ£¬Ó¦ÔÚReturnsÓï¾äºóÓùؼü´ÊTableָʱÆä·´»ØÀàÐÍ¡£

ÔÚ²éѯ·ÖÎöÆ÷Àï¿ÉʹÓÃT-SQL¿ÉÖ±½Ó´´½¨º¯Êý

¸ñʽ£º

CREATE FUNCTION º¯ÊýÃû(

@ÐβÎÃû ÀàÐÍ @±ä²ÎÃû ÀàÐÍ )

[RETURNS ÀàÐÍ] AS

SQLÓï¾ä

3. ʹÓñêÁ¿º¯Êý

±êÁ¿º¯Êý½ÓÊÜ0¸ö»ò¶à¸öÊäÈë²ÎÊý£¬²¢·µ»ØÒ»¸ö±êÁ¿Öµ¡£ÒòΪ±êÁ¿º¯ÊýÖ»·µ»ØÒ»¸öÖµ£¬ËùÒÔͨ³£ÔÚÒ»¸öselectÓï¾äµÄÁÐÁбíÖÐʹÓÃËüÃÇ£¬Ò²¿ÉÒÔÔÚwhere×Ó¾äÖÐʹÓÃËüÃÇ¡£

ʵÑé14-7£º»ùÓÚCP±í±àдº¯ÊýgetStock( )£¬¸ù¾Ý´«½øµÄ²ÎÊý¡°²úÆ·±àºÅ¡±£¬²éѯ²¢·µ»ØÏàÓ¦²úÆ·µÄ¡°¿â´æÁ¿¡±¡£

ÇëÔĶÁÒÔϳÌÐò£¬Àí½âÆä»ù±¾½á¹¹ºÍʵÏÖ˼Ï룬¸ø³öÔËÐнá¹û¡£

µÚ 10 Ò³ ¹² 17 Ò³