- basilicojp
- 7859
- 7
- 0
- 0
こば -Koba as a DB engineer-
@tzkb
@soudai1025 OracleでもPostgreSQLでも使ったことないんですけど、結構必要ですかね。
2020-11-02 18:21:26
yoku0825
@yoku0825
@soudai1025 マジメな代替策を考えると、「アクセスして良い行がだけのビュー」をSQL SECURITY DEFINERで作ってそれにSELECT権限を与え、ベーステーブルからはSELECT権限を剥奪したりします
2020-11-02 18:36:09
そーだい@初代ALF
@soudai1025
@yoku0825 Viewって作り直すとき(alterでベースにtableが増えた後のリフレッシュ)の時って共有ロックですよね?(ベース、View共に) 単純なViewで主キーで更新を常にすればたしかにそれでも良い気がしてきたが…。
2020-11-02 18:39:41
yoku0825
@yoku0825
@soudai1025 なんとVIEWには昔からWITH CHECK OPTIONってのがあって、これはちゃんと仕事します… dev.mysql.com/doc/refman/5.6…
2020-11-02 18:53:21
そーだい@初代ALF
@soudai1025
@yoku0825 > 更新可能なビューに対して WITH CHECK OPTION 句を指定すると、select_statement 内の WHERE 句が true である行を除く行への挿入または更新を回避できます。 試してみるっ!!!
2020-11-02 19:00:24