PL/pgSQL Function Problem - Mailing list pgsql-sql

From the inquirer
Subject PL/pgSQL Function Problem
Date
Msg-id 20040909174926.81383.qmail@web53002.mail.yahoo.com
Whole thread Raw
Responses Re: [GENERAL] PL/pgSQL Function Problem  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: PL/pgSQL Function Problem  (Michalis Kabrianis <mk@interzone.gr>)
Re: [GENERAL] PL/pgSQL Function Problem  (Doug McNaught <doug@mcnaught.org>)
List pgsql-sql
I am trying to create a function that creates a user
and adds a row to a table.  It produces no warnings or
errors when I create the function but when I attempt
to execute it I get a syntax error.  I do not
understand why this is happening.  Any help would be
greatly appreciated.

SELECT create_author( 'name', 'username', 'password'
);

ERROR: syntax error at or near "$1" at character 14
CONTEXT: PL/pgSQL function "create_author" line 7 at
SQL statement

Here is the code:

CREATE OR REPLACE FUNCTION create_author (
VARCHAR(32), VARCHAR(32), VARCHAR(32) )
RETURNS INTEGER AS '
    DECLARE
        name_        ALIAS FOR $1;
        username_    ALIAS FOR $2;
        password_    ALIAS FOR $3;
        authorid_    INTEGER;
    BEGIN
        CREATE USER username_ WITH ENCRYPTED PASSWORD
password_ IN GROUP authors;

        INSERT INTO Authors
            ( Name, Username )
        VALUES
            ( $1, $2 );
        SELECT Max( AuthorID ) INTO authorid_ FROM Authors;

        RETURN authorid_;

    END;
' LANGUAGE 'plpgsql'
SECURITY INVOKER
RETURNS NULL ON NULL INPUT;



__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail

pgsql-sql by date:

Previous
From: "Thomas Wegner"
Date:
Subject: SQL99 "with recursive" question
Next
From: Collin Peters
Date:
Subject: Using UPDATE FROM