1

postgreSQL で関数を定義する際に助けが必要です。

ここに私のテーブル定義があります:

CREATE TABLE venue (
   id INTEGER DEFAULT NEXTVAL('venue_id_seq')
 , building_code building_code
 , floorNo int
 , roomNo int
 , width int
 , length int
);

そのテーブルに関連する関数を作成して、床面積を取得する必要があります。これまでのところ、次のようなものがあります。

CREATE FUNCTION floorArea(id int) RETURNS int AS '
SELECT  venue.width * venue.length AS result ;
' LANGUAGE SQL;

変数などを作成する方法がわかりません。
次のようなものが必要です。

var width=  Select width from venue where id=$1;
var length=  Select length from venue where id=$1;
return width * length;
4

2 に答える 2

1

あなたは次のようなことができると思います

CREATE FUNCTION floorArea(idp int)
RETURNS int
as
$$
    select width * length from venue as v where v.id = idp
$$ LANGUAGE SQL;

SQL フィドルのデモ

于 2013-08-14T14:17:06.600 に答える