楼主: jym2002

关于Mysql中procedure子句

[复制链接]
论坛徽章:
41
紫蛋头
日期:2012-11-12 14:45:312014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-03-03 14:29:41马上有车
日期:2014-03-20 17:48:31马上加薪
日期:2014-03-28 15:18:022014年世界杯参赛球队: 厄瓜多尔
日期:2014-06-25 18:57:33马上有车
日期:2014-07-29 18:27:14马上有车
日期:2014-08-19 14:32:59itpub13周年纪念徽章
日期:2014-10-08 15:16:50
11#
 楼主| 发表于 2013-8-28 14:06 | 只看该作者
waky14 发表于 2013-8-28 14:01
变通一点处理:你在后台得到你的结果集后存在一个临时表中,然后你通过select 访问临时表得到你要的东西。 ...

前台没办法掉call procedure,那也就没办法根据param来生成临时表

所以select 访问临时表也不行

使用道具 举报

回复
求职 : 研发经理
论坛徽章:
24
生肖徽章2007版:羊
日期:2015-01-23 10:01:06生肖徽章2007版:狗
日期:2014-07-11 16:43:32生肖徽章2007版:龙
日期:2014-07-11 16:43:32生肖徽章:羊
日期:2015-07-16 13:55:05处女座
日期:2016-01-04 16:03:31
12#
发表于 2013-8-28 14:10 | 只看该作者
jym2002 发表于 2013-8-28 14:06
前台没办法掉call procedure,那也就没办法根据param来生成临时表

所以select 访问临时表也不行

真心不知道为什么你的前台没法调用存储过程。。。。。。很奇怪的一件事情

使用道具 举报

回复
论坛徽章:
41
紫蛋头
日期:2012-11-12 14:45:312014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-03-03 14:29:41马上有车
日期:2014-03-20 17:48:31马上加薪
日期:2014-03-28 15:18:022014年世界杯参赛球队: 厄瓜多尔
日期:2014-06-25 18:57:33马上有车
日期:2014-07-29 18:27:14马上有车
日期:2014-08-19 14:32:59itpub13周年纪念徽章
日期:2014-10-08 15:16:50
13#
 楼主| 发表于 2013-8-28 14:44 | 只看该作者
waky14 发表于 2013-8-28 14:10
真心不知道为什么你的前台没法调用存储过程。。。。。。很奇怪的一件事情

一下子也说不清,总之领导交代下来了 没办法
真憋屈


我变通下看能不能通过视图解决我的问题

使用道具 举报

回复
论坛徽章:
41
紫蛋头
日期:2012-11-12 14:45:312014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-03-03 14:29:41马上有车
日期:2014-03-20 17:48:31马上加薪
日期:2014-03-28 15:18:022014年世界杯参赛球队: 厄瓜多尔
日期:2014-06-25 18:57:33马上有车
日期:2014-07-29 18:27:14马上有车
日期:2014-08-19 14:32:59itpub13周年纪念徽章
日期:2014-10-08 15:16:50
14#
 楼主| 发表于 2013-8-28 15:14 | 只看该作者
本帖最后由 jym2002 于 2013-8-28 15:15 编辑
waky14 发表于 2013-8-28 14:10
真心不知道为什么你的前台没法调用存储过程。。。。。。很奇怪的一件事情

肥猪,你知道mysql select语句中procedure子句的作用是什么吗?看了好久官方的文档也没弄明白具体是干啥的搜了一遍也没搜到什么有价值的东西

SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr [, select_expr ...]
    [FROM table_references
      [PARTITION partition_list]
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE 'file_name'
        [CHARACTER SET charset_name]
        export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name]]
    [FOR UPDATE | LOCK IN SHARE MODE]]

使用道具 举报

回复
求职 : 研发经理
论坛徽章:
24
生肖徽章2007版:羊
日期:2015-01-23 10:01:06生肖徽章2007版:狗
日期:2014-07-11 16:43:32生肖徽章2007版:龙
日期:2014-07-11 16:43:32生肖徽章:羊
日期:2015-07-16 13:55:05处女座
日期:2016-01-04 16:03:31
15#
发表于 2013-8-28 15:39 | 只看该作者
jym2002 发表于 2013-8-28 15:14
肥猪,你知道mysql select语句中procedure子句的作用是什么吗?看了好久官方的文档也没弄明白具体是干啥的 ...

估计是扩展所使用,因为从现有的报错来说已经很明显不支持procedure了。。。。

使用道具 举报

回复
论坛徽章:
41
紫蛋头
日期:2012-11-12 14:45:312014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-03-03 14:29:41马上有车
日期:2014-03-20 17:48:31马上加薪
日期:2014-03-28 15:18:022014年世界杯参赛球队: 厄瓜多尔
日期:2014-06-25 18:57:33马上有车
日期:2014-07-29 18:27:14马上有车
日期:2014-08-19 14:32:59itpub13周年纪念徽章
日期:2014-10-08 15:16:50
16#
 楼主| 发表于 2013-8-28 15:45 | 只看该作者
waky14 发表于 2013-8-28 15:39
估计是扩展所使用,因为从现有的报错来说已经很明显不支持procedure了。。。。

再问你一个问题啊。
create view的时候 ALGORITHM = MERGE如果视图中包含group by的话就会失效,
能强制mysql按照merge的算法执行不?

另外mysql的有哪些hints啊  官网里找不到啊

使用道具 举报

回复
论坛徽章:
64
状元
日期:2015-07-20 15:43:53榜眼
日期:2015-07-16 12:57:31探花
日期:2015-07-06 10:48:48进士
日期:2015-06-25 16:41:54举人
日期:2015-06-18 09:00:04秀才
日期:2015-08-06 13:55:21秀才
日期:2015-06-30 10:57:59秀才
日期:2015-07-17 10:06:26秀才
日期:2015-07-20 08:54:46秀才
日期:2015-07-20 09:00:26
17#
发表于 2013-8-28 18:19 | 只看该作者
jym2002 发表于 2013-8-28 15:14
肥猪,你知道mysql select语句中procedure子句的作用是什么吗?看了好久官方的文档也没弄明白具体是干啥的 ...

你試下直接在PROCEDURE裡面用個SELECT查詢, 看看有沒有返回值.

使用道具 举报

回复
论坛徽章:
41
紫蛋头
日期:2012-11-12 14:45:312014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-03-03 14:29:41马上有车
日期:2014-03-20 17:48:31马上加薪
日期:2014-03-28 15:18:022014年世界杯参赛球队: 厄瓜多尔
日期:2014-06-25 18:57:33马上有车
日期:2014-07-29 18:27:14马上有车
日期:2014-08-19 14:32:59itpub13周年纪念徽章
日期:2014-10-08 15:16:50
18#
 楼主| 发表于 2013-8-28 20:10 | 只看该作者
shenzhen_sap 发表于 2013-8-28 18:19
你試下直接在PROCEDURE裡面用個SELECT查詢, 看看有沒有返回值.

存储过程自然是没问题的。

使用道具 举报

回复
论坛徽章:
64
状元
日期:2015-07-20 15:43:53榜眼
日期:2015-07-16 12:57:31探花
日期:2015-07-06 10:48:48进士
日期:2015-06-25 16:41:54举人
日期:2015-06-18 09:00:04秀才
日期:2015-08-06 13:55:21秀才
日期:2015-06-30 10:57:59秀才
日期:2015-07-17 10:06:26秀才
日期:2015-07-20 08:54:46秀才
日期:2015-07-20 09:00:26
19#
发表于 2013-8-29 07:45 | 只看该作者
jym2002 发表于 2013-8-28 20:10
存储过程自然是没问题的。

不好意思, 看錯了.
這個PROCEDURE子句是在FROM TABLE 後面用的.
也就是說使用方法是
select * from table procedure proc_openplat_001D('2013-03-30');

使用道具 举报

回复
论坛徽章:
64
状元
日期:2015-07-20 15:43:53榜眼
日期:2015-07-16 12:57:31探花
日期:2015-07-06 10:48:48进士
日期:2015-06-25 16:41:54举人
日期:2015-06-18 09:00:04秀才
日期:2015-08-06 13:55:21秀才
日期:2015-06-30 10:57:59秀才
日期:2015-07-17 10:06:26秀才
日期:2015-07-20 08:54:46秀才
日期:2015-07-20 09:00:26
20#
发表于 2013-8-29 07:48 | 只看该作者
jym2002 发表于 2013-8-28 20:10
存储过程自然是没问题的。

參考下這個:


analyse([max_elements,[max_memory]])

这个步骤在sql/sql_analyse.cc定义,这个步骤检查你查询的结果,并且返回对此结果的一个分析:

max_elements (默认值 256) 是analyse注意到每 列不同值的最高数目。analyse使用此 参数来检查是否最优化的列的类型是ENUM类型。

max_memory (默认值 8192) 是analyse在查找所有不同值时分配给每 列的最大内存数。i

SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]])

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表