Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

ÔÚCMDϲÙ×÷SQL SERVERÊý¾Ý¿â


MYSQL¿ÉÒÔÔÚ¿ØÖÆÌ¨Ï½øÐвÙ×÷£¬ÀûÓÃÃüÁî
SQL´úÂë
mysql -h localhost -u root -p123456  
¾Í¿ÉÒԵǽMYSQLµÄ¿ØÖÆÌ¨¡£
sql serverÒ²ÌṩÁË¿ØÖÆÌ¨ÏµIJÙ×÷¹¦ÄÜ¡£
ÔÚSQL SERVERµÄ binnĿ¼Ï£¬ÌṩÁËosql.exeÓëisql.exeÕâÁ½¸öÎļþ¡£
ÕâÁ½¸ö³ÌÐò¶¼ÌṩÁË·ÃÎÊSQL SERVERµÄ¹¦ÄÜ£¬ÕâÁ ......

̽ÌÖSQLÓï¾ä¼¼ÇÉ ÓÅ»¯DB2Ó¦ÓóÌÐòÐÔÄÜ

±¾ÎÄÒÔIBMµÄ¹ØÏµÊý¾Ý¿â¹ÜÀíϵͳDB2 Universal Database(ͨÓÃÊý¾Ý¿â) °æ±¾7.1Ϊ±³¾°£¬Óë´ó¼Ò¹²Í¬Ì½ÌÖ±àдºÃµÄSQLÓï¾äµÄ¼¼ÇÉ£¬ÒÔÇóDB2Ó¦ÓóÌÐòÒÔÇóDB2Ó¦ÓóÌÐò»ñµÃ¸üÓŵÄÐÔÄÜ¡£
¡¡¡¡µ±ÎÒÃÇÉè¼ÆÒ»¸öеĻò·ÖÎöÒ»¸öÏÖ´æµÄϵͳʱ£¬ÆäÖÐËùÒª¿¼ÂǵÄÒ»¸öÖØÒªÎÊÌâ¾ÍÊÇÓ¦ÓóÌÐòµÄÉè¼ÆÎÊÌâ¡£¼´Ê¹Êý¾Ý¿âÉè¼ÆµÃºÜºÃ¶øÇÒ»¹¾­¹ýÓÅ»¯´¦Àí£¬ ......

ÓÃEXPLAIN PLAN ·ÖÎöSQLÓï¾ä

ÈçºÎÉú³Éexplain plan?
¡¡¡¡½â´ð:ÔËÐÐutlxplan.sql. ½¨Á¢plan ±í
¡¡¡¡Õë¶ÔÌØ¶¨SQLÓï¾ä£¬Ê¹Óà explain plan set statement_id = 'tst1' into plan_table
¡¡¡¡ÔËÐÐutlxplp.sql »ò utlxpls.sql²ì¿´explain plan
EXPLAIN PLAN ÊÇÒ»¸öºÜºÃµÄ·ÖÎöSQLÓï¾äµÄ¹¤¾ß,ËüÉõÖÁ¿ÉÒÔÔÚ²»Ö´ÐÐSQLµÄÇé¿öÏ·ÖÎöÓï¾ä. ͨ¹ý·ÖÎö,ÎÒÃǾͿÉÒÔÖ ......

ʹÓà TRY/CATCH Óï¾ä½â¾ö SQL Server 2005 ËÀËø

Ò»¸öʾÀýËÀËø
ÈÃÎÒÃÇ´ÓÕâÑùÒ»¸öʾÀý¿ªÊ¼ËµÆð£¬ËüÔÚ SQL Server 2000 ºÍ 2005 Öж¼ÄÜÒýÆðËÀËø¡£ÔÚ±¾ÎÄÖУ¬ÎÒʹÓà SQL Server 2005 µÄ×îРCTP£¨ÉçÇø¼¼ÊõÔ¤ÀÀ£¬Community Technology Preview£©°æ±¾£¬SQL Server 2005 Beta 2£¨7 Ô·¢²¼£©Ò²Í¬ÑùÊÊÓá£Èç¹ûÄúûÓÐ Beta 2 »ò×îÐ嵀 CTP °æ±¾£¬ÇëÏÂÔØ SQL Server 2005 Express µÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ