调用存储利用第二个存储过程的价值产生单个结果的程序?

我已决定教育自己对MySQL的存储过程,但语法是从我平时的重踏地面(PHP / JavaScript的)完全不同,我希望确定我的这些程序的能力的理解是正确的,如果是这样我如何实现我追求的。

目前,我有两个表,'人'和'职位',具体如下:

people person_id INT(10) first_name VARCHAR(32) last_name VARCHAR(64) posts post_id INT(10) author_id INT(10) body_text TEXT created DATETIME

从这一点,我创建了一个简单的通用存储过程,如下所示:

DELIMITER // CREATE PROCEDURE getPerson(IN person INT(10)) BEGIN SELECT CONCAT(first_name, ' ', last_name) as long_name, CONCAT(last_name, ', ', first_name) as index_name FROM people WHERE person_id = person; END // DELIMITER ;

到目前为止好,但现在这里就是我的理解,打破了......我想创建一个名为'的getPost“第二个步骤,在传递一个POST_ID,将从职位表中的各行返回后的数据,还调用getPerson程序上AUTHOR_ID列,使返回一个结果将包括字段: post_id, long_name, index_name, body_text, created

我已经尝试和出错了几个小时,虽然我可能有正确的方法在一个点(使用上getPerson结果的加入?),我的SQL语法并没有延续远远超出单说明书MySQL调用从PHP。 我的问题是:

  1. 这是一种常见的/合理的方法是什么我想要做的或者是有什么好? (我不想使用脚本语言)
  2. 如果是这样,可能会有人分享如何做到这一点?
  3. 我是正确使用程序为这种事情,或者是一个函数一样好/更好?

感谢您的帮助!

--------------解决方案-------------

你为什么不只是创建一个名为viewPeoplePosts认为,结合人民和他们的岗位 。 然后,你可以修改你的存储过程来查询视图。 让视图做所有的辛勤工作 ,让存储过程只是返回的结果。

分类:MySQL的 时间:2013-07-09 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.321 (s). 9 q(s)