MYSQL ÊÂÎñµÄÎÊÌâ
SQL code:
create PROCEDURE aa(SqlCMD1 varchar(8000),SqlCMD2 varchar(8000),SqlCMD3 varchar(8000))
begin
declare exit handler for sqlexception rollback;
start TRANSACTION;
EXECUTE SqlCMD1;
EXECUTE SqlCMD2;
EXECUTE SqlCMD3;
COMMIT;
end
#drop PROCEDURE aa
call aa('insert into a(vName) values('B')','insert into a(vName) values('B')','insert into a(vName) values('B')')
ÏÖÔÚÓÐ3¸öSQLÃüÁҪÓÃÊÂÎñÀ´´¦ÀíÆäÔËÐÐÇé¿ö¡£ÎÒ´´½¨´æ´¢¹ý³ÌÈçÉÏ£¬ÈýÌõSQLÃüÁîµ±×ö²ÎÊý´«È룬ȻºóÊÂÎñ¿ªÊ¼£¬ÔÙÒÀ´ÎÔËÐÐ3ÌõÓï¾ä£¬ÔÙÌá½»ÊÂÎñ£¬Èç¹û·¢Éú´íÎ󣬻عöÊÂÎñ¡£
²âÊÔµÄʱºò±¨´í¡£¡£
ҪʵÏÖÕâÕâÑùµÄ²Ù×÷£¬Ó¦¸ÃÔõôÑùдÕâ¸ö´æ´¢¹ý³Ì£¿£¿
ɳ·¢×Ô¼º×ø£¬ÔÚÏߵȡ£
EXECUTE SqlCMD1; mysql²»Ö§³ÖÕâÑùÖ´Ðж¯Ì¬sqlµÄ¡£
ÒªÓÃÕâÖÖÓï·¨
PREPARE stmt_name from preparable_stmt;
EXECUTE stmt_name [USING @var_name [, @var_name] ...];
{DEALLOCATE | DROP} PREPARE stmt_name;
1. MYSQL²»Ö§³ÖÕâÖÖ EXECUTE SqlCMD1; °´Â¥Éϵĸü¸ÄΪ prepare / execute
SQL code:
create PROCEDURE aa(SqlCMD1 varchar(8000),SqlCMD2 varchar(8000),SqlCMD3 varchar(8000))
begin
declare exit handler for sqlexception rollback;
start TRANSACTION;
PREPARE stmt_name from SqlCMD1;
EXECUTE stmt_name;
DEALLOCATE stmt_n
Ïà¹ØÎÊ´ð£º
ÎÒÏÖÔÚѧϰMYSQL£¬ÎÊÏÂmysql´¢´æ¹ý³ÌÈçºÎ½¨Á¢ºÍʹÓã¬×îºÃд³É$sql="sqlÓï¾ä",$re=mysql_query($sql);лл
½¨ÒéÄãÏÈ×Ô¼º¿´Ò»ÏÂÎĵµÖеÄÀý×Ó¡£
http://dev.mysql.com/doc/refman/5.1/zh/stored-pro ......
Óиöwinform³ÌÐò,ʹÓÃc#+mysql,ÐèÒªÔÚÒ»¸ö´°ÌåÉèÖÃmysql×Ô¶¯É¾³ý¹¦ÄÜ,°üÀ¨×Ô¶¯É¾³ý¶àÉÙÌì֮ǰµÄÊý¾ÝÒÔ¼°ÊÇ·ñ¿ªÆô×Ô¶¯É¾³ý¹¦ÄÜ,ÎÒ³ÌÐòÍ˳öºó,»¹Ôõô¿ØÖÆMysql×Ô¼ºÉ¾³ý°¡?ÊDz»ÊÇÒªÓÃmysqlµÄeventÀ´ÊµÏÖ?c#¿ÉÒÔµ÷ÓÃmysq ......
mysql insertÓï¾äÖÐÓÐ?£¬ÌáʾÖÂÃü´íÎ󣿣¿£¿£¿£¿£¿£¿
¡¡´úÂ룿
ÒýÓÃ
mysql insertÓï¾äÖÐÓÐ?£¬ÌáʾÖÂÃü´íÎ󣿣¿£¿£¿£¿£¿£¿
½¨ÒéÌùÍêÕûinsert´úÂë¼°´íÎó´úÂ룬ÒÔ±ã·ÖÎö
ÇëÂ¥Ö÷ÌùÍêÕûµÄsql´ú ......
½¨±í£º²å¼Ç¼
SQL code:
create table tablename (id int,RQ1 datetime,RQ2 datetime)
-- select * from tablename
insert into tablename
select 1,'2009-01-01 10:00:00','2009-01-02 11:00:00' union
......