PL/SQLÓαê±äÁ¿µÄµ÷ÓÃÓë×÷ΪÊä³ö²ÎÊýµÄÓ¦ÓÃ
½ñÌìÓиöѧÉúÎÊÎÒµ÷ÓðüÀïÃæ¾ßÓÐÓαêÀàÐ͵ÄÊä³ö²ÎÊý£¬¿ÉÊÇÔÚÓÃPL/SQL³ÌÐòµ÷ÓõÄʱºò¾ÓÈ»±¨³ö²ÎÊý¸öÊý»òÀàÐÍ´íÎóµÄÒì³£ÐÅÏ¢£¬ÓÚÊÇ×Ô¼ºÒ²ÊÔÁËһϣ¬¹ûÈ»Êdzö´íÁË¡£È»ºó¾Í×Ô¼º×ÁÄ¥ÁËһϡ¢²é²é×ÊÁϺÍÎÊÎÊͬÊ£¬ÔÀ´ÎÊÌâÊǺܼòµ¥µÄ£¬ÏÈ¿´Ò»Ï³ÌÐòµÄ½á¹¹´úÂ룺
CREATE OR REPLACE PACKAGE Pkg_Student
IS
TYPE StudentType IS REF CURSOR RETURN TB_STUDENT%ROWTYPE;
PROCEDURE Pro_student
(
pi_ClassId IN TB_STUDENT.CLASSID%TYPE,
Po_student OUT StudentType
);
END Pkg_Student;
--ʵÏÖ°üÌå´úÂë
CREATE OR REPLACE PACKAGE BODY Pkg_Student
IS
PROCEDURE Pro_student
(
pi_ClassId IN TB_STUDENT.CLASSID%TYPE,
Po_student OUT StudentType
)
AS
BEGIN
IF pi_ClassId=1 THEN
OPEN Po_student FOR SELECT * from TB_STUDENT WHERE TB_STUDENT.CLASSID=1;
ELSIF pi_ClassId=2 THEN
OPEN Po_student FOR SELECT *from TB_STUDENT WHERE TB_STUDENT.CLASSID=2;
ELSE
OPEN Po_student FOR SELECT *from TB_STUDENT WHERE TB_STUDENT.CLASSID=3;
END IF;
END;
END Pkg_Student;
--Ö´Ðе÷ÓðüÀïÃæµÄ´æ´¢¹ý³Ì
DECLARE
TYPE StudentType IS REF CURSOR RETURN TB_STUDENT%ROWTYPE;
v_student StudentType;
v_ClassID TB_STUDENT.CLASSID%TYPE:=1;
BEGIN
Pkg_Student.Pro_student(v_ClassID,v_student);
END;
ÏñÉÏÃæÄÇÑùÖ´Ðоͻá³öÏÖ²ÎÊý¸öÊý»òÀàÐÍ´íÎó£»ÓÚÊÇ£¬¾ÀÕýÁËһϴúÂëÈçÏ£º
DECLARE
v_student Pkg_Student.StudentType;
v_ClassID TB_STUDENT.CLASSID%TYPE:=1;
BEGIN
Pkg_Student.Pro_student(v_ClassID,v_student);
END;
ÔÒòÈçÏ£º
1¡¢StudentType±¾ÉíÊÇÔÚ°üÀïÃæÉùÃ÷ºÍÓ¦Óã¬Æä×÷ÓÃÓòÒ²ÔÚ°üÄÚ²¿¶øÒÑ£»
2¡¢ÈôÍⲿ³ÌÐòÒªµ÷ÓðüÀïÃæ¾ßÓÐÓαêÀàÐͲÎÊýµÄ¹ý³Ì»òº¯Êýʱ£¬ÄÇô±ØÐëÔÚÍⲿÏÔʾµ÷Óðü
ÀïÃæµÄÓαêÉùÃ÷£¬¶ø²»ÊÇÔÚÍâÃæÖØÐ¶¨ÒåÒ»¸öÓαêÉùÃ÷ºÍÓαê±äÁ¿¡£¶øÇÒ×¢ÒâµÄÊÇÓαê±äÁ¿±¾ÉíÒ²ÊǶ¯Ì¬µÄ£¬ÊÇÒ»¸öÒýÓÃÀàÐÍ£¬²»ÒÀÀµÓÚ¹¤×÷Çø¡£
ºÃÁË£¬¶ÔÓÚÕâ¸öÎÊÌâµÄ·ÖÎö¾Íµ½Õâ±ßÁË.........Ï£Íû¶Ô±ðÈËÓаïÖú¡££¨°ïÖúËûÈ˾ÍÊǰïÖú×Ô¼º£©
Ïà¹ØÎĵµ£º
.ÔÚ²éѯÖлáÓöµ½ UNION ALL,ËüµÄÓ÷¨ºÍunionÒ»Ñù,Ö»²»¹ýunionº¬ÓÐdistinctµÄ¹¦ÄÜ,Ëü»á°ÑÁ½ÕűíÁËÖØ¸´µÄ¼Ç¼ȥµô,¶øunion all²»»á,ËùÒÔ´ÓЧÂÊÉÏ,union all »á¸ßÒ»µã.
2.union all Êǰ´ÔÏÈ˳ÐòÅÅÁеģ¬union °ÑÁ½ÕűíÖеÄÖØ¸´Êý¾ÝÈ¥µôºó»¹½øÐÐÁËÖØÐÂÅÅÐò
ÉùÃ÷£º´ËÎÄÀ´Ô´ÓÚÍøÂ·£¡
ÄÚÈÝÕªÒª£ºÔÚPL/SQL¿ª·¢¹ý³ÌÖУ¬Ê¹ÓÃSQL£¬ ......
ÕýÈ·µÄ£ºselect isnull(money,0) from (select sum(money) as money,3 as b from zhangbenjilu where datepart(month,usedatetime)=3) as a
´íÎóµÄ£ºselect isnull(money,0) from (select sum(money) as money,3 from zhangbenjilu where datepart(month,usedatetime)=3) ......
×ªÔØ£º
http://blog.sina.com.cn/s/blog_5f4ed9cb0100dza0.html
http://wowh.wuyan.org/2008/04/15/sqlserver-2k-system-error-126/
ÔÚ°²×°sql server ¾³£Óöµ½ÕâÑù¡¢ÄÇÑùµÄ´íÎ󣬽ñÌìÔÚËѵ½±È½ÏÈ«ÃæµÄ£¬¾ÍÌù³öÀ´£¬·ÖÏíÏ£¡
SQL
Server°²×°ÎÊÌâ´óÈ«
(2007-09-06
09:24:28)
±êÇ©£ºIT/¿Æ¼¼
Ò¼¡£WINDOWS XP ......
sql ´úÂë:
---------------------------------------------------------
/*
a ±íÃû
Èç¹ûÔÚsql ²éѯ·ÖÎöÆ÷µ±ÖгöÏÖ
" SQL Server ×èÖ¹Á˶Ô×é¼þ 'xp_cmdshell' µÄ ¹ý³Ì'sys.xp_cmdshell' µÄ·ÃÎÊ£¬ÒòΪ´Ë×é¼þÒÑ×÷Ϊ´Ë·þÎñÆ÷°²È«ÅäÖõÄÒ»²¿·Ö¶ø±»¹Ø± ......