作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下内容创建了一个程序:
DELIMITER //
CREATE PROCEDURE marketingdb_eia.procGetEstateConsumerFromVehicleReg(IN clientId int, IN vehicleReg varchar(10))
SQL SECURITY INVOKER
BEGIN
SELECT *
FROM (SELECT *, CONCAT(c1.vehicle_reg_1, c1.vehicle_reg_2, c1.vehicle_reg_3, c1.vehicle_reg_4) AS "AllVehicleReg"
FROM estate_consumer AS c1
INNER JOIN consumer c2
ON c1.consumer_id = c2.id
WHERE c2.client_id = clientId) AS a
WHERE a.AllVehicleReg LIKE vehicleReg;
END //
这工作得很好,所以我现在尝试为上面创建一个函数,所以我试图这样做:
DELIMITER //
CREATE FUNCTION marketingdb_eia.procGetEstateConsumerFromVehicleReg(clientId int, vehicleReg varchar(10))
RETURNS CHAR
BEGIN
SELECT *
FROM (SELECT *, CONCAT(c1.vehicle_reg_1, c1.vehicle_reg_2, c1.vehicle_reg_3, c1.vehicle_reg_4) AS "AllVehicleReg"
FROM estate_consumer AS c1
INNER JOIN consumer c2
ON c1.consumer_id = c2.id
WHERE c2.client_id = clientId) AS a
WHERE a.AllVehicleReg LIKE vehicleReg;
END //
但是出现以下错误:“不允许从函数返回结果集”。
经过一些研究后,您似乎无法返回包含列的集合。我必须在 SELECT 查询之后使用一些 INTO 功能,但不知道在哪里执行此操作以及更改哪些内容以返回与我的 PROCEDURE 相同的值。
任何帮助将不胜感激。
谢谢
最佳答案
你可以手动建一个临时表,然后调用该函数,就可以将数据插入到你的临时表中。MYSQL好像不支持返回表
关于MYSQL 创建函数 - 获取 : Not allowed to return a result set from a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42829053/
我是一名优秀的程序员,十分优秀!