2

postgresqlで関数を作成する際にhstoreを引数の型として宣言することは可能ですか?

CREATE FUNCTION samplehstore(uname hstore)
RETURNS SETOF void AS 
DECLARE 
BEGIN
RAISE NOTICE 'uname : %', uname ;        
END;
LANGUAGE plpgsql
4

2 に答える 2

0

あなたの例は理想的には正しいですが、関数本体を文字列で囲むのを忘れただけです (そのhstore部分は問題ありません)。このようにすることをお勧めします($$追加を参照):

CREATE FUNCTION samplehstore(uname hstore)
RETURNS SETOF void AS $$
DECLARE 
BEGIN
    RAISE NOTICE 'uname : %', uname ;        
END;
$$
LANGUAGE plpgsql;

PostgreSQL の関数は基本的に文字列であり、ドル引用符は単一引用符に似た構文です。これを試してください。

SELECT $$my string$$, $id$my string$id$, 'my string';

3つは同等です。詳細については、ドキュメントを参照してください

于 2013-09-14T10:27:54.220 に答える