免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1880 | 回复: 4
打印 上一主题 下一主题

请教一下,在存储过程中如何取得一个表的类型? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-27 11:09 |只看该作者 |倒序浏览
我想在存储过程中每隔一段时候就把表的类型从内存表改成Myisam表。

想请教一下:
一:如何在存储过程取得表类型?
二:在存储过程早更改表类型(ALTER)语句能不能用?

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
2 [报告]
发表于 2009-02-27 11:36 |只看该作者
好像没有直接返回类型的函数。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,但不能从存储函数或触发程序调用这类存储程序。

注意,尽管某些限制在正常情况下适用于存储函数和触发程序,不适用于存储程序,如果它们是从存储函数或触发程序中调用的,这些限制也适用于存储程序。

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
3 [报告]
发表于 2009-02-27 11:38 |只看该作者
如果你要定时执行一些东西,可以用mysql5.1的Event Scheduler功能哦。

论坛徽章:
0
4 [报告]
发表于 2009-02-28 12:03 |只看该作者
仔细瞅瞅information_schema库。

论坛徽章:
0
5 [报告]
发表于 2009-03-01 17:46 |只看该作者
仔细瞅瞅information_schema库。


++++++++++++
找到,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP