Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2009, 10:06
izraelsandrea
 
Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 15 años, 2 meses
Puntos: 0
De acuerdo Trigger para Crear Roles PGSQL

Mi problema es el siguiente, quiero hacer un blindaje de base de datos, es decir, quiero que cada vez que agregue un nuevo usuario a mi sistema se agregue un rol para ese usuario a la base de datos de postgres, ahora bien, me parecio que la mejor forma de hacerlo era por medio de un trigger que ejecute una funcion luego del insert utilizado para la tabla Usuarios del sistema,

Estoy intentando hacerlo de esta forma:

CREATE OR REPLACE FUNCTION sp_crear_roles() RETURNS trigger AS $trigger_crear_roles$

BEGIN

CREATE ROLE new.usuario;

RETURN NEW;
END;
$trigger_crear_roles$ LANGUAGE plpgsql;

Pero me da el siguiente error:

ERROR: error de sintaxis en o cerca de «$1»
LINE 1: CREATE ROLE $1
^
QUERY: CREATE ROLE $1
CONTEXT: SQL statement in PL/PgSQL function "sp_crear_roles" near line 4

********** Error **********

ERROR: error de sintaxis en o cerca de «$1»
SQL state: 42601
Context: SQL statement in PL/PgSQL function "sp_crear_roles" near line 4

Ahora bien, segun veo el problema es que no parece aceptarme ningun tipo de parametro, porque intente hacerlo usando una variable y consegui el mismo problema.

Si saben como podria hacerlo se los agradezco..