0

我正在尝试在 mySQL 中设置一个存储过程,该过程根据近似匹配返回人们的联系信息:假设您正在与之交谈的人,但他们的名字拼写非常规并且您不记得他们的完整电话号码。

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

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

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

有什么方法可以返回视图(或表;我不喜欢它,但我可以找到使其工作的方法)的“%rowtype”等价物;我是否应该返回(可能是 inout)足够的变量(烦人,但可行);还是我错过了另一种方式?

4

1 回答 1

0

尝试使用这种语法 - 不仅仅是选择作为最后一行程序

DELIMITER $$
create procedure getPNrecbyID (in phone_number VARCHAR2, in name VARCHAR2) READS SQL DATA SQL SECURITY INVOKER
BEGIN
select * from table;
END$$
于 2013-10-11T19:01:26.720 回答