mysql開發-動態語句編寫-引號使用

Steven1981發表於2009-03-02
我們在寫MYSQL儲存過程的動態SQL時, 往往是先寫好SQL原型,再根據需要來寫成動態的形式.
但往往這個過程是非常痛苦的,因為在這中間你可以需要處理很多個單引號及一些特殊字元.
[@more@]

我們在寫MYSQL儲存過程的動態SQL時, 往往是先寫好SQL原型,再根據需要來寫成動態的形式.
但往往這個過程是非常痛苦的,因為在這中間你可以需要處理很多個單引號及一些特殊字元.(如果你寫過ORACLE PL/SQL就會有相會的經驗).
不過呢,非常幸運的是,在MYSQL中支援雙引號". 也就是說你基本不去改SQL原型,MYSQL會原樣搬過來.

比如,我們要的SQL原型如下:

select * from mysql.user where user='root' limit 10 ;

如果寫成動態SQL :

set @sql = " select user,host from mysql.user where user='root'" ;
set @sql = concat(@sql ,"
limit 10 " ) ;
prepare sql1 from @sql;
execute sql1 ;
deallocate PREPARE sql1 ;


當然,在這裡只是一個簡單的例子,大家舉一反三!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/703656/viewspace-1017950/,如需轉載,請註明出處,否則將追究法律責任。

相關文章