- 论坛徽章:
- 1
|
好像没有直接返回类型的函数。show create table xxx可以看到。
存储子程序不能包含任意SQL语句。在存储子程序中,禁止使用下述语句:
· CHECK TABLES
· LOCK TABLES, UNLOCK TABLES
· LOAD DATA, LOAD TABLE
· SQL预处理语句(PREPARE、EXECUTE、DEALLOCATE PREPARE)。隐含意义:不能在存储子程序中使用动态SQL语句(其中,能够以字符串形式构造动态语句,然后执行它们)。从MySQL 5.0.13开始,对于存储程序放宽了该限制,但该限制仍适用于存储函数和触发程序。
· OPTIMIZE TABLE
对于存储函数(而不是存储程序),禁止下述额外语句:
· 执行显式或隐式提交或回滚操作的语句。
· 返回结果集的语句。包括没有INFO子句的SELECT语句,以及SHOW语句。能够用SELECT … INTO,或使用光标和FETCH语句处理结果集的函数。
· FLUSH语句。注意,尽管能够在存储程序中使用FLUSH,但不能从存储函数或触发程序调用这类存储程序。
注意,尽管某些限制在正常情况下适用于存储函数和触发程序,不适用于存储程序,如果它们是从存储函数或触发程序中调用的,这些限制也适用于存储程序。 |
|