Em 7 de novembro de 2011 14:56, JotaComm <[email protected]> escreveu:
> Olá, Flávio > > Em 7 de novembro de 2011 14:39, Flávio Alves Granato < > [email protected]> escreveu: > > Senhores, >> >> Estou querendo criar uma trigger para criar uma role assim que inserir >> um usuário em minha tabela de usuários. >> Criei ela da seguinte forma: >> >> CREATE OR REPLACE FUNCTION usuario_create_trigger() RETURNS trigger AS >> $$ >> BEGIN >> > > --Troque isso: > >> CREATE ROLE NEW.usuario LOGIN; >> > > --Por isso: > EXECUTE 'CREATE ROLE '||NEW.nome|| ' LOGIN'; > > > RETURN NEW; >> END; >> $$ LANGUAGE 'plpgsql'; >> >> Mas recebo o seguinte erro: >> >> ERRO: erro de sintaxe em ou próximo a "$1" >> LINE 1: CREATE ROLE $1 LOGIN >> ^ >> QUERY: CREATE ROLE $1 LOGIN >> CONTEXT: SQL statement in PL/PgSQL function "usuario_create_trigger" >> near line 2 >> >> ********** Erro ********** >> >> ERRO: erro de sintaxe em ou próximo a "$1" >> SQL state: 42601 >> Contexto: SQL statement in PL/PgSQL function "usuario_create_trigger" >> near line 2 >> >> Estou cometendo um erro muito simples de sintaxe mas não vejo onde e >> todo exemplo que acho na internet tem o NEW.algumacoisa e eu não entendo >> o motivo de dar este erro. Se alguém puder me dar uma luz. >> >> Abraços, >> >> >> Flávio >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > Abraços > -- > JotaComm > http://jotacomm.wordpress.com Flavio, Faça como o Jota falou e de uma olhada em [1] sobre execução de comandos dinamicos em pl/pgsql. [1] http://www.postgresql.org/docs/9.1/static/plpgsql-statements.html []s Edson Souza
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
