MySQL 5.0´æ´¢¹ý³Ì±à³ÌÈëÃÅ
Ê×ÏÈ¿´MySQL 5.0²Î¿¼ÊÖ²áÖйØÓÚ´´½¨´æ´¢¹ý³ÌµÄÓ﷨˵Ã÷£º
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
[ IN | OUT | INOUT ] param_name type
type:
Any valid MySQL data type
characteristic:
LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'
routine_body:
Valid SQL procedure statement
Èç¹ûÄã¶ÔMySQL»¹²»Ì«ÊìϤµÄ»°£¬µ¥µ¥¿´Õâ¸öÓï·¨½á¹¹µ±È»²»×ãÒÔ½øÐÐMySQL´æ´¢¹ý³Ì±à³Ì¡£ÎÒ֮ǰ»ù±¾¶¼ÊÇʹÓÃMS SQL SERVER£¬ËùÒÔÒÔϼǼÎÒÊìϤMySQL´æ´¢¹ý³ÌµÄ¹ý³Ì£¬Ò²ÊÇÖØµã½éÉÜMS SQL SERVERÓëMySQLÇø±ð½Ï´óµÄµØ·½¡£
µÚÒ»²½£¬µ±È»ÊÇд¸öHello WordµÄ´æ´¢¹ý³Ì£¬ÈçÏ£º
CREATE PROCEDURE phelloword()
BEGIN
SELECT 'Hello Word!' AS F;
END;
½«ÉÏÃæ´´½¨phelloword´æ´¢¹ý³ÌµÄÓï¾ä¿½µ½phpMyAdminÖÐÖ´ÐУ¬±¨ÈçÏ´íÎó£º
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
ÔÚÕâ¸öÎÊÌâÉÏÎÒ¾À²øÁ˺ܾã¬ÔÚMySQLµÄÃüÁîÐй¤¾ßÖÐÖ´ÐÐͬÑù²»³É¹¦£¬µ«ÊǸù¾ÝÌáʾÐÅÏ¢¿ÉÒÔÖªµÀÖ´ÐÐÔÚ SELECT 'Hello Word!' AS F;´¦½áÊø£¬ºóÃæµÄEND;ûÓÐÖ´ÐУ¬ÕâÏÔÈ»»áµ¼Ö´íÎó¡£
ÕâÀïÐèҪѡÔñÒÔ¸ö·Ö¸ô·û£¬Óï·¨ÈçÏ£ºDELIMITER //
·Ö¸ô·ûÊÇ֪ͨMySQL¿Í»§¶ËÒѾÊäÈëÍê³ÉµÄ·ûºÅ¡£Ò»Ö±¶¼ÊÇÓÓ;”£¬µ«ÊÇÔÚ´æ´¢¹ý³ÌÖв»ÐУ¬ÒòΪ´æ´¢¹ý³ÌÖкܶàÓï¾ä¶¼ÐèÒªÓõ½·ÖºÅ¡£
Òò´ËÉÏÃæµÄ´æ´¢¹ý³Ì¸ÄΪ£º
CREATE PROCEDURE ptest()
BEGIN
SELECT 'Hello Word!' AS F;
END //
ÁíÍâÔÚphpMyAdminÖÐÖ´ÐÐʱ£¬ÔÚDelimiterÎı¾¿òÖÐÌîд //£¬Õâ´Î´æ´¢¹ý³Ì¼´¿É´´½¨³É¹¦¡£
µÚ¶þ²½£¬Ð´Ò»¸ö°üÀ¨²ÎÊý£¬±äÁ¿£¬±äÁ¿¸³Öµ£¬Ìõ¼þÅжϣ¬UPDATEÓï¾ä£¬SELECT·µ»Ø½á¹û¼¯µÄÍêÕûµÄÒ»¸ö´æ´¢¹ý³Ì£¬ÈçÏ£º
CREATE PROCEDURE plogin
(
p_username char(15),
p_password char(32),
&
Ïà¹ØÎĵµ£º
1¡¢select * from tablename <Ìõ¼þÓï¾ä> limit 100,15
´Ó100Ìõ¼Ç¼ºó¿ªÊ¼(²»°üÀ¨µÚ100Ìõ¼Ç¼)È¡³ö15Ìõ¼Ç¼ (ʵ¼ÊÈ¡³öµÄÊÇµÚ 101-115Ìõ¼Ç¼Êý¾Ý)
2¡¢select * from tablename <Ìõ¼þÓï¾ä> limit 15
È¡³ö ǰ15Ìõ¼Ç¼Êý¾Ý,limit 15Ï൱ÓÚ limit 0,15 ......
²éѯ¼°É¾³ýÖØ¸´¼Ç¼µÄ·½·¨
(Ò»)
1¡¢²éÕÒ±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ýµ¥¸ö×ֶΣ¨peopleId£©À´ÅжÏ
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2¡¢É¾³ý±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ýµ¥¸ö×ֶΣ¨peopleId£©À´Åжϣ¬Ö»Á ......
1¡¢Ê×ÏÈ×Ô¼ºÐ½¨µÄÊý¾Ý¿â±àÂë¸ñʽÉèΪUTF-8
2¡¢½«mysql-connector-java-5.1.6-bin¿½±´µ½tomcat\LibĿ¼Ï¡£
3¡¢ÐÞ¸ÄTomcat\conf\ϵÄcontext.xmlÎļþÄÚÈÝÈçÏ£º
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
name="jdbc/mysqlds"
t ......
ÎÊÌâÊÇÕâÑùµÄ£ºÔÚ²åÈëÒ»ÐÐÊý¾Ýǰ¾ÍÏëÒªÖªµÀ½«Òª²úÉúµÄid¡£±ÈÈç˵ÏëÓÃÀ´ÃüÃûÉÏ´«µÄÎļþ¡£Èç¹û²»ÊÂÏÈ»ñµÃid¾Í²»ÖªµÀÎļþÃû£¬¾Íû·¨ÔÚ²åÈëʱ°ÑÎļþ·¾¶±£´æµ½Êý¾Ý¿âÀïÁË¡£Èç¹û²»ÐèÒªÊÂÏÈ»ñµÃid£¬´ó¿ÉÒÔÔÚ²åÈëºóµ÷ÓÃmysql_insert_id()»òÕßÖ´ÐÐselect last_insert_id()£¬¾Í²»±ØÍùÏ¿´ÁË¡£ÎªÁËÕÕ¹ËÐÔ¼±µÄͬѧ£¬Ïȸø´ð°¸£º
$resul ......