Em Quinta-feira 22 Julho 2010, às 13:32:58, JotaComm escreveu: > Olá, > > Em 22 de julho de 2010 13:21, Vinicius Marconi Vasconcelos Berni < > > [email protected]> escreveu: > > Quero garantir que não aconteça nas duas situações. > > Pela aplicação você garante usando a função que comentei no email anterior. > Quanto ao acesso direto ao banco o usuário não deveria ter privilégio de > acesso direto e se tiver deveria no meu modo de ver apenas de SELECT. O > único que deveria ter os privilégios de UPDATE, INSERT e DELETE deveria ser > o administrador.
Isso, isso, isso... Mas como não vivemos num mundo "ideal", as pessoas têm motivos para fazer as coisas da forma "não ideal", seguindo essa rota, talvez um gatilho, que seria a prova até administradores às 03:30h da madrugada. > > > Em 22 de julho de 2010 11:38, JotaComm <[email protected]> escreveu: > > > > Olá, > > > >> Em 22 de julho de 2010 11:25, Candido Vieira da Silva Neto <cvieira.br@ > >> > >> gmail.com> escreveu: > >>> Vinicius, existe o controle de transacoes para evitar 'acidentes'. > >>> BEGIN e COMMIT/SAVEPOINT/ROLLBACK > >>> > >>> On 7/22/10, Vinicius Marconi Vasconcelos Berni > >>> > >>> <[email protected]> wrote: > >>> > Não permitir que seja executado delete na base de dados sem fornecer > >>> > clausula where, quero fazer isto para evitar 'acidentes'. > >>> > > >>> > Ex.: delete from pessoa - Esta query não deve ser permitida. > >>> > > >>> > delete from pessoa where id=2 - Esta será permitida > >> > >> Uma pergunta. As exclusões serão feitas pela aplicação ou o usuário pode > >> ir manualmente na base e executar um comando delete em qualquer tabela? > >> > >> Que tal criar uma função simples para fazer a deleção dos usuários se > >> este procedimento for executado pela aplicação, com por exemplo: > >> > >> CREATE OR REPLACE FUNCTION exclusao(INTEGER) > >> > >> RETURNS BOOLEAN AS $$ > >> > >> BEGIN > >> > >> DELETE FROM tabela WHERE campo_chave=$1; > >> > >> IF FOUND THEN > >> > >> RAISE NOTICE 'O registro % foi excluido.',$1; > >> > >> RETURN TRUE; > >> > >> END IF; > >> > >> RAISE NOTICE 'O registro % não foi encontrado.',$1; > >> > >> RETURN FALSE; > >> > >> END; > >> > >> $$ LANGUAGE PLPGSQL RETURNS NULL ON NULL INPUT; > >> > >>> > Em 22 de julho de 2010 11:12, JotaComm <[email protected]> escreveu: > >>> >> Olá, > >>> >> > >>> >> Em 22 de julho de 2010 09:31, Vinicius Marconi Vasconcelos Berni < > >>> >> > >>> >> [email protected]> escreveu: > >>> >>> Olá. > >>> >>> > >>> >>> Existe uma maneira de restringir 'delete' sem cláusula 'where' ? > >>> >> > >>> >> Como assim? O que exatamente você deseja? > >>> >> > >>> >>> Desde já agradeço. No aguardo. > >>> >>> > >>> >>> -- > >>> >>> > >>> >>> Ass.: > >>> >>> Vinicius Marconi Vasconcelos Berni > >>> >>> > >>> >>> 51 - 96608087 > >>> >>> 51 - 32482071 > >>> >>> > >>> >>> _______________________________________________ > >>> >>> pgbr-geral mailing list > >>> >>> [email protected] > >>> >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-gera > >>> >>> l > >>> >> > >>> >> []s > >>> >> -- > >>> >> JotaComm > >>> >> http://jotacomm.wordpress.com > >>> >> > >>> >> _______________________________________________ > >>> >> pgbr-geral mailing list > >>> >> [email protected] > >>> >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >>> > > >>> > -- > >>> > > >>> > Ass.: > >>> > Vinicius Marconi Vasconcelos Berni > >>> > > >>> > 51 - 96608087 > >>> > 51 - 32482071 > >>> > >>> _______________________________________________ > >>> pgbr-geral mailing list > >>> [email protected] > >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >> > >> []s > >> -- > >> JotaComm > >> http://jotacomm.wordpress.com > >> > >> _______________________________________________ > >> pgbr-geral mailing list > >> [email protected] > >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > > -- > > > > Ass.: > > Vinicius Marconi Vasconcelos Berni > > > > 51 - 96608087 > > 51 - 32482071 > > > > _______________________________________________ > > pgbr-geral mailing list > > [email protected] > > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > []s _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
