[firebase-br] GRANT SELECT, INSERT, REFERENCES, UPDATE ON '||:OUT_TBLNAME||' TO ' ||:IN_USER

Mário Reis mariodosreyx em gmail.com
Dom Set 21 21:57:24 -03 2014


Cantu,


Estou tentando dar um grant ou revoke geral depois de criar um user na 
minha tabela e na security2, chamando a procedure abaixo duma trigger, 
assim: AFTER_INSERT_OR_UPDATE: Execute Procedure SP$_GRANTS(NEW.Login) 
returning_values...
ou BEFORE_DELETE Execute Procedure SP$_REVOKES(OLD.Login) 
returning_values...

CREATE PROCEDURE SP$_GRANTS(
  IN_USER VARCHAR(20) COLLATE PXW_INTL850)
RETURNS(
  OUT_TBLNAME VARCHAR(50) COLLATE PXW_INTL850,
  OUT_SQLTXT VARCHAR(100) COLLATE PXW_INTL850)
AS
BEGIN

  /* Procedure body */
FOR
  SELECT RDB$RELATION_NAME
    FROM RDB$RELATIONS
   WHERE RDB$VIEW_BLR IS NULL 
     AND (RDB$SYSTEM_FLAG = 0 OR RDB$SYSTEM_FLAG IS NULL)
    INTO :OUT_TBLNAME
 DO
  BEGIN
  
  -- REVOKE SELECT, INSERT, REFERENCES, UPDATE ON ACRANIB38 FROM LEILA;  
   OUT_SQLTXT='GRANT SELECT, INSERT, REFERENCES, UPDATE ON 
'||:OUT_TBLNAME||' TO ' ||:IN_USER ;
  
   EXECUTE STATEMENT :OUT_SQLTXT
      WITH COMMON TRANSACTION
   AS USER 'SYSDBA' PASSWORD 'deEpDown!23' ;     
  
   
  END  
  
  SUSPEND;
  
END;

O que lhe falta ? Porque não funciona nem dá Erro?
Obrigado

Mário






Mais detalhes sobre a lista de discussão lista