从mysql中的过程返回一行

时间:2013-10-11 18:55:30

标签: mysql

我正在尝试在mySQL中设置一个存储过程,根据大概匹配返回给人们的联系信息:说出你正在与之交谈的人,但他们的名字是非常规拼写的,你不记得他们的完整电话号码

我从使用Oracle SQL的朋友那里借了一些代码,看起来像是:

create procedure getPNrecbyID (in phone_number VARCHAR2,
                        in name VARCHAR2,
                        out target person_contact%rowtype)
...

但MySQL没有“%rowtype”语法。返回主键并不一定有效,因为我想要返回的是分散在几个表(人;电话号码,对人有外键约束,但我只想要一个电话号码;和电子邮件,同样的事情)作为电话号码.Person_contact是一个视图)。

有没有办法返回视图(或表格的“%rowtype”的等价物;我不喜欢它,但我可以找到一种方法使其工作);我应该只返回(可能没有)足够的变量(烦人,但可行);或者还有另一种我失踪的方式吗?

1 个答案:

答案 0 :(得分:0)

尝试使用此语法 - 而不仅仅是选择最后一行程序

DELIMITER $$
create procedure getPNrecbyID (in phone_number VARCHAR2, in name VARCHAR2) READS SQL DATA SQL SECURITY INVOKER
BEGIN
select * from table;
END$$