[firebase-br] "DO SUSPEND"

Mário Reis mariodosreyx em gmail.com
Terça Novembro 14 10:21:03 -03 2023


Bom dia/tarde Gladiston,
Estou a seguir o V/ conselho de não dar permissões aos users e ao tentar
revok para o ADM (um user muito velho que uso quase desde de sempre) recebo
esta mensagem
mega estranha:
SYSDBA is not grantor of INSERT on IBUCTABUSERSLOGGED to ADM.  SQL Code:
-607 IB Error Number: 335544351
Ora o [IB ]UCTABUSERSLOGGED é o mesmo que o  UCTABUSERSLOGGED do USers
Control Component e a tabela foi(são) criado automaticamente a primeira vez
que se entra
na aplicação com o UCUSERS Control activo.
Não sendo o SYSDBA, como posso saber onde posso ver quem foi o "USER" criou
estas tabelas !? Obrigado


Com os meus melhores cumprimentos
Mário Agostinho Reis
919262146

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.


Gladiston Santana <gladiston.santana em gmail.com> escreveu no dia quarta,
8/11/2023 à(s) 13:51:

> Se estiver dando erro na linha da exception é provavelmente porque você
> não criou a exception com o nome de 'EX_BAD_SP_NAME' .
>
> Em qua., 8 de nov. de 2023 às 07:34, Mário Reis <mariodosreyx em gmail.com>
> escreveu:
>
>> Olá bom dia Gladiston e pessoal da Lista,
>> Estou com uma dificuldade, criada pela documentação oficial:
>>
>> https://firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-psql-exceptparams.html
>> e prende-se exatamente com este exemplo que nem sequer compila!?:
>> CREATE TRIGGER TRG_SP_CREATE BEFORE CREATE PROCEDURE
>> AS
>> DECLARE SP_NAME VARCHAR(255);
>> BEGIN
>>   SP_NAME = RDB$GET_CONTEXT('DDL_TRIGGER', 'OBJECT_NAME');
>>
>>   IF (SP_NAME NOT STARTING 'SP_')
>>   THEN EXCEPTION EX_BAD_SP_NAME USING ('SP_', SP_NAME);
>> END;
>>   Ainda tentei criar o trigger como database trigger mas também não dá!
>>  Tentei, na minha trigger "TRG_LIGARSE"
>>  RDB$SET_CONTEXT('DDL_TRIGGER', 'OBJECT_NAME','TRG_LIGARSE' );
>> SP_NAME = RDB$GET_CONTEXT('DDL_TRIGGER', 'OBJECT_NAME');
>> Certamente que é um exemplo académico, quiçá, infeliz!
>> Ou, quem sabe, onde me perdi?
>>
>>


Mais detalhes sobre a lista de discussão lista