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¾ÛºÏº¯
±êÇ©£ºsql¾ÛºÏº¯Êý ÔÓ̸
¾ÛºÏº¯Êý£º
1.AVG ·µ»Ø×éÖÐµÄÆ½¾ùÖµ£¬¿ÕÖµ½«±»ºöÂÔ¡£
ÀýÈ磺use northwind // ²Ù×÷northwindÊý¾Ý¿â
Go
Select avg (unitprice) //´Ó±íÖÐÑ¡ÔñÇóunitpriceµÄƽ¾ùÖµ
& ......
sql º¯Êý×ܽá
³£ÓõÄ×Ö·û´®º¯ÊýÓУº
Ò»¡¢×Ö·ûת»»º¯Êý
1¡¢ASCII()
·µ»Ø×Ö·û±í´ïʽ×î×ó¶Ë×Ö·ûµÄASCII ÂëÖµ¡£ÔÚASCII£¨£©º¯ÊýÖУ¬´¿Êý×ÖµÄ×Ö·û´®¿É²»ÓÑ’À¨ÆðÀ´£¬µ«º¬ÆäËü×Ö·ûµÄ×Ö·û´®±ØÐëÓÑ’À¨ÆðÀ´Ê¹Ó㬷ñÔò»á³ö´í¡£
2¡¢CHAR()
½«ASCII Âëת»»Îª×Ö·û¡£Èç¹ûûÓÐÊäÈë0 ~ 255 Ö®¼äµÄASCII ......
MYSQL¿ÉÒÔÔÚ¿ØÖÆÌ¨Ï½øÐвÙ×÷£¬ÀûÓÃÃüÁî
SQL´úÂë
mysql -h localhost -u root -p123456
¾Í¿ÉÒԵǽMYSQLµÄ¿ØÖÆÌ¨¡£
sql serverÒ²ÌṩÁË¿ØÖÆÌ¨ÏµIJÙ×÷¹¦ÄÜ¡£
ÔÚSQL SERVERµÄ binnĿ¼Ï£¬ÌṩÁËosql.exeÓëisql.exeÕâÁ½¸öÎļþ¡£
ÕâÁ½¸ö³ÌÐò¶¼ÌṩÁË·ÃÎÊSQL SERVERµÄ¹¦ÄÜ£¬ÕâÁ ......
ʹÓùýSQL Server 2000µÄÈ˶¼ÖªµÀ£¬ÒªÏëʵÏÖÐÐÁÐת»»,±ØÐë×ÛºÏÀûÓþۺϺ¯ÊýºÍ¶¯Ì¬SQL£¬¾ßÌåʵÏÖÆðÀ´ÐèÒªÒ»¶¨µÄ¼¼ÇÉ£¬¶øÔÚSQL Server 2005ÖУ¬Ê¹ÓÃÐÂÒý½øµÄ¹Ø¼ü×ÖPIVOT/UNPIVOT£¬Ôò¿ÉÒÔºÜÈÝÒ×µÄʵÏÖÐÐÁÐת»»µÄÐèÇó¡£
ÔÚ±¾ÎÄÖÐÎÒÃǽ«Í¨¹ýÁ½¸ö¼òµ¥µÄÀý×ÓÏêϸ½²½âPIVOT/UNPIVOTµÄÓ÷¨¡£
PIVOTµÄÓ÷¨£º
Ê×ÏÈ´´½¨²âÊÔ±í£¬È» ......
CREATE FUNCTION StringToBarcode
(@Value Varchar(50) )
RETURNS NVarchar(100)
AS
BEGIN
Declare @charCount int
Declare @charPos int, @minCharPos int
declare @currentChar int, @checksum int
Declare @isTableB int,@isValid int
&n ......