日期:2014-05-16  浏览次数:20794 次

請問mysql cursor可以用變數開啟嗎?
我知道Oracle中,cursor可以用變數開啟,例如:
cursor stoAA_curs
(ls_date_beg varchar2,ls_date_end varchar2,ls_stoAA04 varchar2,ls_stoAA05 varchar2,ls_stoAA08 varchar2)
is select stoAA01,stoAA02,stoAA03,stoAA04,stoAA05,stoAA06
  from stoAA
  where stoAA04 = ls_stoAA04 and
  stoAA05 = ls_stoAA05 and
  stoAA08 = ls_stoAA08 and
  stoAA01 between ls_date_beg and ls_date_end;

open stoAA_curs('00',as_date,ls_stoBB04,ls_stoBB05,ls_stoBB08);

cursor stoAA_curs開啟時,是依據開啟當時傳入的變數去select,

請問,MySQL有此功能嗎?如果有這一段程式要改寫成MySQL的語法,該如何寫?
謝謝!


------解决方案--------------------
mysql 好像还没有这个功能,有两个方案可以参考:
1 使用prepare语句,参考:http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html
2 使用存储过程传入参数,参考:http://topic.csdn.net/u/20090531/13/60562c9a-74a5-414a-ae84-329d7e38c8fb.html