嘗試在 SQL 中運行一個帶有嵌套在其中的 Select 陳述句的函式,但無法使其作業。新來的所以我可以使用幫助。這是我的代碼:
DELIMITER//
CREATE FUNCION whereAndWhen(species, VARCHAR(255))
RETURNS INT()
BEGIN
SELECT animals.zone
FROM animals
WHERE animals.species = species;
RETURN;
END; //
DELIMITER ;
目標是讓函式接受動物物種名稱并接收該動物居住的區域,所有這些都來自同一張表。有小費嗎?
uj5u.com熱心網友回復:
在回傳之前嘗試使用 DECLARE 和 SET 來保存您的 SELECT 查詢:
DELIMITER//
CREATE FUNCION whereAndWhen(species, VARCHAR(255))
RETURNS INT()
BEGIN
DECLARE zoneNum INT;
SET zoneNum = (SELECT animals.zone
FROM animals
WHERE animals.species = species);
RETURN zoneNum;
END; //
DELIMITER ;
uj5u.com熱心網友回復:
您可以使用 SELECT INTO
CREATE tABLE animals (zone int, species varchar(255))
INSERT INTO animals VALUES (1,'Owl')
CREATE FUNCTION whereAndWhen(_species VARCHAR(255)) RETURNS INT BEGIN SELECT animals.zone INTO @zone FROM animals WHERE animals.species = _species; RETURN @zone; END;
SELECT whereAndWhen('Owl')| whereAndWhen('貓頭鷹') | | ------------------: | | 1 |
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/383755.html
