postgresqlで関数を作成する際にhstoreを引数の型として宣言することは可能ですか?
CREATE FUNCTION samplehstore(uname hstore)
RETURNS SETOF void AS
DECLARE
BEGIN
RAISE NOTICE 'uname : %', uname ;
END;
LANGUAGE plpgsql
postgresqlで関数を作成する際にhstoreを引数の型として宣言することは可能ですか?
CREATE FUNCTION samplehstore(uname hstore)
RETURNS SETOF void AS
DECLARE
BEGIN
RAISE NOTICE 'uname : %', uname ;
END;
LANGUAGE plpgsql
あなたの例は理想的には正しいですが、関数本体を文字列で囲むのを忘れただけです (その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つは同等です。詳細については、ドキュメントを参照してください。