Mysql - Trigger zabraniający UPDATE
*ryspek* - 13-03-2006 11:21
Mysql - Trigger zabraniający UPDATE
Nie znalazłem w manualu informacji, jak powinien wyglądać Trigger zabraniający operacji UPDATE taki TRIGGER zabraniający BEFORE UPDATE ON tabela.
Chciałbym na podstawie informacji o właścicielu rekordu zawartej TABELA.USER zabronić modyfikacji tego rekordu innym użytkownikom niż wpisany w TABELA.USER. Nie można tego zrobić poprzez uprawnienia do całej tabeli.
Może byłby ktoś tak miły i rozwinął teorię, jak to można zrobić ? -- pozdrawiam *ryspek*
LQ - 13-03-2006 11:21
> Nie znalazłem w manualu informacji, jak powinien > wyglądać Trigger zabraniający operacji UPDATE > taki TRIGGER zabraniający BEFORE UPDATE ON tabela.
CR trig xxx for update warunek zlego usera -> rollback transaction ? ;D
nie wiem czy dobrze Cie zrozumialem ale ten triger zabroni updatowac userom ktorzy przejdą przez warunek zlego usera
Przemyslaw Popielarski - 13-03-2006 11:21
=?iso-8859-2?Q?Re:_Mysql_-_Trigger_zabraniaj=B1cy_UPDATE?=
*ryspek* <ryspek@poczta.onet.pl> wrote: > Nie znalazłem w manualu informacji, jak powinien > wyglądać Trigger zabraniający operacji UPDATE > taki TRIGGER zabraniający BEFORE UPDATE ON tabela. > > Chciałbym na podstawie informacji o właścicielu rekordu > zawartej TABELA.USER zabronić modyfikacji tego > rekordu innym użytkownikom niż wpisany w TABELA.USER.
To zrob trigger, ktory robi drugi update po wlasciwym updatejcie i przywraca pierwotna wartosc.
> Nie można tego zrobić poprzez uprawnienia do całej tabeli.
A moze do widoku?
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
*ryspek* - 13-03-2006 11:21
>> Chciałbym na podstawie informacji o właścicielu rekordu >> zawartej TABELA.USER zabronić modyfikacji tego >> rekordu innym użytkownikom niż wpisany w TABELA.USER. > > To zrob trigger, ktory robi drugi update po wlasciwym updatejcie i > przywraca pierwotna wartosc. > >> Nie można tego zrobić poprzez uprawnienia do całej tabeli. > > A moze do widoku? Ok, ale w MySql chyba nie ma view, które można edytować. Ja nie potrafię ich modyfikować. Sądziłem, że z widokami pracuje się, jak z tabelami, ale próba jakiejkolwiek modyfikacji kończy się błędem. Czy można modyfikować zawartość tych view? pozdrawiam *ryspek*
Przemyslaw Popielarski - 13-03-2006 11:22
=?iso-8859-2?Q?Re:_Mysql_-_Trigger_zabraniaj=B1cy_UPDATE?=
*ryspek* <ryspek@poczta.onet.pl> wrote: > Czy można modyfikować zawartość tych view?
Zasadniczo mozna.
http://dev.mysql.com/doc/refman/5.0/...trictions.html
With regard to view updatability, the overall goal for views is that if any view is theoretically updatable, it should be updatable in practice. This includes views that have UNION in their definition. Currently, not all views that are theoretically updatable can be updated. The initial view implementation was deliberately written this way to get usable, updatable views into MySQL as quickly as possible. Many theoretically updatable views can be updated now, but limitations still exist:
* Updatable views with subqueries anywhere other than in the WHERE clause. Some views that have subqueries in the SELECT list may be updatable.
* You cannot use UPDATE to update more than one underlying table of a view that is defined as a join.
* You cannot use DELETE to update a view that is defined as a join.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
*ryspek* - 13-03-2006 11:22
>> Czy można modyfikować zawartość tych view? > > Zasadniczo mozna. > > http://dev.mysql.com/doc/refman/5.0/...trictions.html Dziękuję, zauważyłem to za późno, mój klient MySQL miał jakieś zacięcie. pozdrawiam *ryspek*
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plponland.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|