私はSQLプロジェクトで作業しています。私はテーブルを返すSQL * Plus関数を作成したいと思います。 私はこのようなものを作りましたが、それは動作しません、なぜ私にはわからない:PL/SQL関数のテーブルを返す
CREATE OR REPLACE FUNCTION changeNbPersonnes(recette IN int, nbPersonne IN int)
RETURN table_res TABLE
(
idIngredient int NOT NULL,
nomIngredient varchar(255) NOT NULL,
quantite int NOT NULL
)
AS
CURSOR curseur_etape IS
SELECT * FROM IngredientRecette ir
JOIN recette r
ON ir.idrecette=r.idrecette
JOIN ingredient i
ON ir.idingredient=i.idingredient
WHERE r.idrecette=recette;
BEGIN
FOR row_ingredient IS
INSERT INTO res(idIngredient,nomIngredient,quantite)
VALUES(
row_ingredient.idingredient,
row_ingredient.Nom,
row_ingredient.quantite
);
END FOR;
RETURN res;
END;
/
は、あなたが私を助けることができますか? "RETURN table_res TABLE"に何か問題があります
えっ?これは有効なpl/sql styntax/codeのようには見えません。 – OldProgrammer
実際、結果のリストを返したいのですが、私が見つけた唯一の方法はこのような新しいテーブルを作成することでした。 –
あなたはただのビューを使うべきです。 – itsLex