DB2 ´¿SQL´æ´¢¹ý³ÌÓ뺯ÊýµÄһЩÏÞÖÆ
*¸ø¶à¸ö±äÁ¿¸³Öµ
functionÖ»ÄÜʹÓÃ
set (a,b,c)=(select a,b,c from #);
procedureÖ»ÄÜʹÓÃ
select a,b,c into a,b,c from #
*functionÎÞ·¨Ç¶Ì×µ÷ÓôøÓÐinout»òout²ÎÊýµÄprocedure£¬ÏÖÏóΪ£ºÎÞ·¨´´½¨¡£
½ñÌìµÄ½øÕ¹½áÂÛÊÇ£º
function¿ÉÒÔµ÷ÓÃÈκÎprocedure£¬µ«±ØÐëÉùÃ÷Ϊmodifies sql data£¬Í¬Ê±±ØÐë·µ»ØtableÀàÐÍ£¬²»ÄÜʹµ¥Öµ»òrowÀàÐÍ
*procedure¿ÉÒÔǶÌ×µ÷Óã¬ÄÄÅÂÊÇ´øinout²ÎÊýµÄ´æ´¢¹ý³Ì.
*function ¿ÉÒÔǶÌ×µ÷ÓÃ.
*IBM¿ª·¢ÕßÍøÕ¾Ò»ÆªÎÄÕÂ˵£ºfunctionµÄЧÂʱÈprocedure¸ß¡£
ÎҵĴð°¸ÊÇÏà·´¡£
ͬÑùµÄÓï¾ä£¬functionºÍprocedureµÄÊ״ε÷ÓÃʱ¼äÓÐ10±¶×óÓҵIJî¾à¡£
¾¹ý²âÊÔÓÐÈçϽáÂÛ£º
1.Èç¹û²ÎÊýÍêȫһÑù£¬Á½´Îµ÷ÓÃͬÑùµÄfunction£¬Ê״ε÷ÓÃËٶȺÜÂý£¨2Ãë×óÓÒ£©£¬µ«µÚ¶þ´Î¿ªÊ¼¾ÍºÜ¿ì£¨0.2Ãë×óÓÒ£©£¬µ«ºóÀ´ºÜ¿ìµÄµ÷ÓÃÓ¦¸ÃÊDzÉÓÃÁË»º´æ»úÖÆ£¬¶øÕâ¸ö»º´æµÄÉú´æÆÚδ֪¡£
2.ͬÑùµÄº¯Êý£¬Ö»Òª²ÎÊý·¢ÉúÈκα仯£¬ÄÇôÊ״λ¹ÊÇ»áºÜÂý¡£
3.procedureºÜÎȶ¨£¬µÚÒ»´ÎºÍºóÃæµÄµ÷Óòî±ð²»´ó¡£²¢ÇÒ¶¼ÊÇ0.2Ãë¼¶µÄ¡£
¶øÇÒ×îÈÃÈËÄÉÃÆµÄÊÇÄÄÅ´úÂë½öÊÇһЩ±È½ÏÅжϣ¬¸ù±¾²»Éæ¼°Êý¾Ý£¬functionµÄЧÂÊÒ²²»¸Ò¹§Î¬¡£
ËùÒÔÈç¹ûÊÇʹÓÃÆµÂÊÏ൱¸ßµÄ´úÂ룬ÎÞÂÛÈçºÎ£¬Ïë·½Éè·¨¶¼µÃ¸Ä³Éprocedure¡£
*procedureÎÞ·¨½øÐж¯Ì¬out²ÎÊýprocedureµ÷Óá£
ʲôÒâË¼ÄØ£¬¾ÍÊÇÒªµ÷ÓõÄprocedure²»ÊÇÓ²±àÂëµÄ
--ÕâÊÇûÓÐÎÊÌâµÄ
create procedure out_proc
call in_proc;
end
--ÕâҲûÓÐÎÊÌâµÄ
create procedure out_proc
...
statment='call in_proc()';
prepare s1 from statment;
execute s1;
end
--¿ÉÒÔ´´½¨£¬µ«ÔËÐÐʱ»á±¨´í
create procedure out_proc
...
declare out_param int;
statment='call in_proc('||cast(out_param as char(10))||')';
prepare statment;
execute statment;
end
ÕâЩÏÞÖÆÍêȫûÓÐÈκεÄÎĵµ¿ÉÒÔ²éѯµ½£¬ÊÇʵ¼Ê²âÊÔºóµÃ³öµÄ½áÂÛ£¬ÌؼÇÓÚ´Ë£¬ÃâµÃÒÔºóÓÖ×ßÍä·
ĿǰÒѾдºÃÁ˵÷ÓÃprocedureµÄfunction£¬ÐÔÄÜȷʵҪǿ¹ýÖ±½Óµ÷ÓÃfunction¡£µ«Åöµ½ÁËÐÂÎÊÌ⣺
*µ÷ÓÃÁËprocedureµÄfunction²»ÄÜÏóÒ»°ãfunctionÒ»ÑùÔÚselectÓï¾äÖвéѯ£¬±ÈÈç
func1 returns table()
func2 returns table() --ÆäÖе÷ÓÃÁËprocedure
ÄÇô
--Ö±½Ó»ñÈ¡func1,Õý³£
select * from table(func1) as tmp
--Ö±½Ó»ñÈ¡func2£¬Õý³£
select * from t
Ïà¹ØÎĵµ£º
¹«Ë¾×éÖ¯SQLˮƽ¿¼ÊÔ£¬¿´ÁËд½Ì²Ä£¬Ð´Á˵ã×ܽᷢÉÏÀ´¸ú´ó¼Ò·ÖÏí¡£
ÎÒ¹«Ë¾Ê¹ÓõÄÊÇSybase ASE12.5£¬ËùÒÔÏÂÃæµÄÒ»Ð©ÌØÐÔÊÇÕë¶ÔSybase ASEµÄ¡£
Ò»£ºSQL Bisic
1£ºSQL(Structured Quary Language)ÌØÐÔ£º
a£º±ê×¼»¯
b£º·Ç¹ý³Ì»¯µÄ
c£º¿ÉÓÅ»¯µÄ
d£ºÃæÏò¼¯ºÏ²Ù×÷µÄ
2£ºASEÖеÄÊý¾ÝÀàÐÍ
a£ºNumberic
b£ºCharacter
c£ºDat ......
p.s. ²»ÓÃÊÔͼÔÚsql2000·þÎñ¹ÜÀíÆ÷ÉÏÃæ×¢²ásql2005µÄÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷£¬Ö»ÄÜÏÈ´Ósql2005ÉÏÃæµ¼³öÊʺÏsql2000µÄ½¨±í½Å±¾£¬ÔÚsql2000ÉϽ¨¿â½¨±í£¬È»ºóÀûÓÃsql2000µÄµ¼ÈëºÍµ¼³öÏòµ¼£¬½«Êý¾Ý´Ó2005µ¼Èëµ½2000µ±ÖС£
2005תµ½2000µÄ²½Öè²½Öè
1. Éú³Éfor 2000°æ±¾µÄÊý¾Ý¿â½Å±¾
2005 µÄmanger studio
-- ´ò¿ª"¶ÔÏó×ÊÔ´¹ÜÀíÆ ......
ÔÎĵØÖ·£ºhttp://www.dingos.cn/index.php?topic=1688.0
OracleÓÐrownumÓÃÓÚ·ÃÎʱíÖÐÐкš£ÄÇôÔÚSQL ServerÖÐÊÇ·ñÓеÈЧµÄÄØ£¿»òÕßÔÚSQL ServerÖÐÈçºÎÊä³öÐкţ¿
-----------------------------------
ÔÚSQL ServerÖÐûÓÐÖ±½ÓµÈЧÓÚOracleµÄrownum
-----------------------------------
Ñϸñ˵À´£¬ÔÚ¹ØÏµÊý¾Ý¿âÖУ¬± ......
sql serverϵͳ±íÏêϸ˵Ã÷
sysaltfiles
Ö÷Êý¾Ý¿â ±£´æÊý¾Ý¿âµÄÎļþ
syscharsets
Ö÷Êý¾Ý¿â×Ö·û¼¯ÓëÅÅÐò˳Ðò
sysconfigures
Ö÷Êý¾Ý¿â ÅäÖÃÑ¡Ïî
syscurconfigs
Ö÷Êý¾Ý¿âµ±Ç°ÅäÖÃÑ¡Ïî
sysdatabases
Ö÷Êý¾Ý¿â·þÎñÆ÷ÖеÄÊý¾Ý¿â
syslanguages
Ö÷Êý¾Ý¿âÓïÑÔ
&n ......
×ªÔØ×Ô:http://www.diybl.com/course/7_databases/sql/sqlServer/2009124/154621_2.html
Ò»¸öÌâÄ¿Éæ¼°µ½µÄ50¸öSqlÓï¾ä
Student(S#,Sname,Sage,Ssex) ѧÉú±í
Course(C#,Cname,T#) ¿Î³Ì±í
SC(S#,C#,score) ³É¼¨±í
Teacher(T#,Tname) ½Ìʦ±í
ÎÊÌ⣺
1¡¢²éѯ“001”¿Î³Ì±È“002”¿Î³Ì³É¼¨¸ßµÄ ......