- 論壇徽章:
- 1
|
好像沒有直接返回類型的函數。show create table xxx可以看到。
存儲子程序不能包含任意SQL語句。在存儲子程序中,禁止使用下述語句:
· CHECK TABLES
· LOCK TABLES, UNLOCK TABLES
· LOAD DATA, LOAD TABLE
· SQL預處理語句(PREPARE、EXECUTE、DEALLOCATE PREPARE)。隱含意義:不能在存儲子程序中使用動態(tài)SQL語句(其中,能夠以字符串形式構造動態(tài)語句,然后執(zhí)行它們)。從MySQL 5.0.13開始,對于存儲程序放寬了該限制,但該限制仍適用于存儲函數和觸發(fā)程序。
· OPTIMIZE TABLE
對于存儲函數(而不是存儲程序),禁止下述額外語句:
· 執(zhí)行顯式或隱式提交或回滾操作的語句。
· 返回結果集的語句。包括沒有INFO子句的SELECT語句,以及SHOW語句。能夠用SELECT … INTO,或使用光標和FETCH語句處理結果集的函數。
· FLUSH語句。注意,盡管能夠在存儲程序中使用FLUSH,但不能從存儲函數或觸發(fā)程序調用這類存儲程序。
注意,盡管某些限制在正常情況下適用于存儲函數和觸發(fā)程序,不適用于存儲程序,如果它們是從存儲函數或觸發(fā)程序中調用的,這些限制也適用于存儲程序。 |
|