MYSQL °üº¬ÊÂÎï,²ÎÊý,ÓαêµÈµÄ×ÛºÏʹÓÃÀý×Ó,Ç°ÕÂ(1)
----------------------------------------------------------------------
--¸Ã´æ´¢¹ý³ÌÓû§´¦ÀíÐÅÏ¢,µ±Êý¾Ý²»´æÔÚ±íÖÐʱÔò²åÈç,·ñÔò¾Íɾ³ý
--Ö»ÓÃÁ˼òµ¥µÄÊÂÎñ,ÏÂÃ潫Óиü¸´ÔÓµÄÀý×Ó
--pro_produce ²úÆ·±í(pname.p_id(±àºÅ,Ö÷¼ü),ptime(Ìí¼Óʱ¼ä))
--
--
--
-------------------------------------------------------------------------
create procedure pro_produce(
in pname varchar(50),
in pb int,
in ptime datetime,
out rtn int)
begin
declare al_d int default -1;
[--Èç¹û³öÏÖÒì,»ò×Ô¶¯´¦Àí²¢ÇÒrollback,µ«²»ÔÙ֪ͨµ÷Ó÷½(×¢Òâ:µ«Èç¹ûÏ£Íûµ÷Ó÷½µÃµ½ÏûÏ¢,ÐèÒªÕâÒ»¾ä:declare exit handler for sqlexception rollback;ÒÔ¼°Æô¶¯ÊÂÎñºÍÌá½»ÊÂÎñµÄÓï¾äÈ«²¿È¥µô)]
select p_id into al_d from t_produce where p_name=pname;
if al_d=-1 then
--¿ªÆôÊÂÎñ
start transcation;
nsert into t_produce value(pname,pb,ptime);
--Ìí¼ÓÈÕ¼Ç
insert into t_log where (datetime,'Ìí¼ÓÁËвúÆ·');
--Ìá½»ÊÂÎñ
set rtn=1;
commit;
else
set rtn=0;
end if;
end
Ïà¹ØÎĵµ£º
ΪʲôѡÔñÔ´Âë±àÒë°²×°mysql£ºÎÒÔÚʹÓÃrpm»òÕßÊÇyum°²×°Ê±myql£¬ÀÏÊÇÌáʾÎÒÕÒ²»µ½*.sockÎļþ£¬ÕÒÁ˵ã
×ÊÁÏ˵ÊǸðüÊǷǹٷ½°æ±¾£¨Ã÷Ã÷Êǹٷ½ÏÂÔØ µÄ£©£¬ÆäÖÐÔÒòµ½ÏÖÔÚ»¹Ã»ÓиãÇå³þ¡£Ï£ÍûÖªÇéÈËÊ¿¸æÖª¡££¨¿ªÊ¼±àÒëµÄʱºò£¬ÏµÍ³»·¾³Ò»¶¨ÒªÅäÖúã¬GCC£¬GC++...µÈµÈµÄ±àÒëÆ÷Ò»¶¨Òª×öºÃ,±¾È˵ÄcentosÓÉÓÚ¿ªÊ¼
ϵͳ»·¾³Ã»ÅäÖ ......
ÔÚmysqlÊÖ²áÀïÃæÓÐÒ»¶ÎÃèÊö¹ØÓÚlock tablesµÄÓï·¨µÄ. LOCK TABLES
tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
[, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...
UNLOCK TABLES
READ
µ±±í²»´æÔÚ WRITE дËøʱ READ ¶ÁËø±»Ö´ÐÐ,Õâ¸Ã ......
2008Äê2Ô±»SunÒÔ10ÒÚÃÀÔªÊÕ¹ºµÄMySQL£¬Ç°Â·ÈÔÈ»ÄÑÁÏ¡£¶ÔÓÚ´ó¼ÒÀ´Ëµ£¬±È½ÏÓÐÒâ˼µÄÊÇ£¬10ÔÂ27ÈÕ£¬Red HatÐû²¼ÒÔ1900ÍòÃÀԪע×Ê¿ªÔ´Êý¾Ý¿â³§ÉÌ—EnterpriseDB¡£ÏûÏ¢Ò»³ö£¬Á¢¿Ì±»Òµ½ç½â¶ÁΪRed HatÁí±Ùõ辶·¢Õ¹¿ªÔ´Êý¾Ý¿â£¬²»ÏëÒÔºóÊÜÖÆÓÚOracleºÍMySQL¡£
Èç¹ûMySQLµÄ´óÆìµ¹ÏÂÁË£¬ÖÚ¶àÁ¦Á¿·ÖÉ¢ÇÒÈõСµÄ¿ªÔ´Êý¾Ý¿â½«Õ¹¿ª ......
1¡¢mysql Êý¾Ý¿âûÓÐÔöÁ¿±¸·ÝµÄ»úÖÆ£¬µ±Êý¾ÝÁ¿Ì«´óµÄʱºò±¸·ÝÊÇÒ»¸öºÜ´óµÄÎÊÌâ¡£»¹ºÃ mysql Êý¾Ý¿âÌṩÁËÒ»ÖÖÖ÷´Ó±¸·ÝµÄ»úÖÆ£¬Æäʵ¾ÍÊÇ°ÑÖ÷Êý¾Ý¿âµÄËùÓеÄÊý¾Ýͬʱдµ½±¸·ÝÊý¾Ý¿âÖС£ÊµÏÖ mysql Êý¾Ý¿âµÄÈȱ¸·Ý¡£
¡¡¡¡2¡¢ÒªÏëʵÏÖË«»úµÄÈȱ¸Ê×ÏÈÒªÁ˽âÖ÷´ÓÊý¾Ý¿â·þÎñÆ÷µÄ°æ±¾µÄÐèÇó¡£ÒªÊµÏ ......