Re: [pgbr-geral] Where em Instrução Update

2012-08-14 Thread Fábio Telles Rodriguez
Em 14 de agosto de 2012 17:53, "(:::) Stéfano Tavares Diane (:::)" <
stefan...@yahoo.com.br> escreveu:

> olá pessoal,
> todos nós sabemos do estrago que uma instrução Update pode fazer
> sem a cláusula Where bem definida. Por isso pergunto, é possível
> tornar a cláusula Where obrigatório na instrução Update ?
> por exemplo:
>caso a intenção for não usar o where na instrução
>especificaria que não irá usar, senão apresentava o erro de
>cláusula where faltando
>
>  UPDATE tabela SET campo = valor WITH NO WHERE
>
>
Não, mas se for uma tabela crítica faça o seguinte:

1) REVOKE UPDATE para a tabela e para o(s) usuários envolvidos.

2) Crie uma função que faça o UPDATE e que obrigatoriamente receba como
parâmetros a clausula WHERE

3) GRANT EXECUTE para a função que você criou.

Assim você fica bem protegido.

[]s
-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// http://tellesr.wordpress.com
e-mail / gtalk / MSN: fabio.tel...@gmail.com
Skype: fabio_telles
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Where em Instrução Update

2012-08-14 Thread Anselmo Silva
O link abaixo mostra como criar uma trigger para limitar o número de
registros máximo permitido em um update. Veja se lhe atende.
http://simononsoftware.com/how-to-allow-for-max-4-rows-in-update-postgresql/


Em 14 de agosto de 2012 18:19, Fábio Telles Rodriguez <
fabio.tel...@gmail.com> escreveu:

>
>
> Em 14 de agosto de 2012 17:53, "(:::) Stéfano Tavares Diane (:::)" <
> stefan...@yahoo.com.br> escreveu:
>
> olá pessoal,
>> todos nós sabemos do estrago que uma instrução Update pode fazer
>> sem a cláusula Where bem definida. Por isso pergunto, é possível
>> tornar a cláusula Where obrigatório na instrução Update ?
>> por exemplo:
>>caso a intenção for não usar o where na instrução
>>especificaria que não irá usar, senão apresentava o erro de
>>cláusula where faltando
>>
>>  UPDATE tabela SET campo = valor WITH NO WHERE
>>
>>
> Não, mas se for uma tabela crítica faça o seguinte:
>
> 1) REVOKE UPDATE para a tabela e para o(s) usuários envolvidos.
>
> 2) Crie uma função que faça o UPDATE e que obrigatoriamente receba como
> parâmetros a clausula WHERE
>
> 3) GRANT EXECUTE para a função que você criou.
>
> Assim você fica bem protegido.
>
> []s
> --
> Atenciosamente,
> Fábio Telles Rodriguez
> blog: http:// 
> http://tellesr.wordpress.com
> e-mail / gtalk / MSN: fabio.tel...@gmail.com
> Skype: fabio_telles
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Anselmo M. Silva
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Where em Instrução Update

2012-08-14 Thread Anselmo Silva
Só lembrando que 'UPDATE TABELA SET CAMPO = VALOR WHERE TRUE' funciona!
Reavalie sua idéia.

Em 14 de agosto de 2012 18:22, Anselmo Silva escreveu:

> O link abaixo mostra como criar uma trigger para limitar o número de
> registros máximo permitido em um update. Veja se lhe atende.
>
> http://simononsoftware.com/how-to-allow-for-max-4-rows-in-update-postgresql/
>
>
> Em 14 de agosto de 2012 18:19, Fábio Telles Rodriguez <
> fabio.tel...@gmail.com> escreveu:
>
>>
>>
>> Em 14 de agosto de 2012 17:53, "(:::) Stéfano Tavares Diane (:::)" <
>> stefan...@yahoo.com.br> escreveu:
>>
>> olá pessoal,
>>> todos nós sabemos do estrago que uma instrução Update pode fazer
>>> sem a cláusula Where bem definida. Por isso pergunto, é possível
>>> tornar a cláusula Where obrigatório na instrução Update ?
>>> por exemplo:
>>>caso a intenção for não usar o where na instrução
>>>especificaria que não irá usar, senão apresentava o erro de
>>>cláusula where faltando
>>>
>>>  UPDATE tabela SET campo = valor WITH NO WHERE
>>>
>>>
>> Não, mas se for uma tabela crítica faça o seguinte:
>>
>> 1) REVOKE UPDATE para a tabela e para o(s) usuários envolvidos.
>>
>> 2) Crie uma função que faça o UPDATE e que obrigatoriamente receba como
>> parâmetros a clausula WHERE
>>
>> 3) GRANT EXECUTE para a função que você criou.
>>
>> Assim você fica bem protegido.
>>
>> []s
>> --
>> Atenciosamente,
>> Fábio Telles Rodriguez
>> blog: http:// 
>> http://tellesr.wordpress.com
>> e-mail / gtalk / MSN: fabio.tel...@gmail.com
>> Skype: fabio_telles
>>
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
>
> --
> Anselmo M. Silva
>



-- 
Anselmo M. Silva
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Where em Instrução Update

2012-08-14 Thread (:::) Stéfano Tavares Diane (:::)
são boas idéias ,
não chega ser tabelas tão criticas,só queria previnir acidentes


valeu

[ ]s
Stéfano


Em 14/08/2012 18:22, pgbr-geral-requ...@listas.postgresql.org.br escreveu:
> Send pgbr-geral mailing list submissions to
>   pgbr-geral@listas.postgresql.org.br
> -
>
> Message: 5
> Date: Tue, 14 Aug 2012 18:19:33 -0300
> From: Fábio Telles Rodriguez 
> Subject: Re: [pgbr-geral] Where em Instrução Update
> To: Comunidade PostgreSQL Brasileira
>   
> Message-ID:
>   
> Content-Type: text/plain; charset="utf-8"
>
> Em 14 de agosto de 2012 17:53, "(:::) Stéfano Tavares Diane (:::)" <
> stefan...@yahoo.com.br> escreveu:
>
>> olá pessoal,
>> todos nós sabemos do estrago que uma instrução Update pode fazer
>> sem a cláusula Where bem definida. Por isso pergunto, é possível
>> tornar a cláusula Where obrigatório na instrução Update ?
>> por exemplo:
>> caso a intenção for não usar o where na instrução
>> especificaria que não irá usar, senão apresentava o erro de
>> cláusula where faltando
>>
>>   UPDATE tabela SET campo = valor WITH NO WHERE
>>
>>
> Não, mas se for uma tabela crítica faça o seguinte:
>
> 1) REVOKE UPDATE para a tabela e para o(s) usuários envolvidos.
>
> 2) Crie uma função que faça o UPDATE e que obrigatoriamente receba como
> parâmetros a clausula WHERE
>
> 3) GRANT EXECUTE para a função que você criou.
>
> Assim você fica bem protegido.
>
> []s

Message: 6
Date: Tue, 14 Aug 2012 18:22:07 -0300
From: Anselmo Silva
Subject: Re: [pgbr-geral] Where em Instrução Update
To: Comunidade PostgreSQL Brasileira

Message-ID:

Content-Type: text/plain; charset="iso-8859-1"

O link abaixo mostra como criar uma trigger para limitar o número de
registros máximo permitido em um update. Veja se lhe atende.
http://simononsoftware.com/how-to-allow-for-max-4-rows-in-update-postgresql/


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral