+ -
当前位置:首页 → 问答吧 → oracle 做查询select操作 怎样防止DDL语句修改表结构

oracle 做查询select操作 怎样防止DDL语句修改表结构

时间:2011-10-31

来源:互联网

RT

作者: scrack   发布时间: 2011-10-31

该回复于2011-10-31 10:32:26被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#2楼 得分:0回复于:2011-10-31 10:30:33
SQL code
select * from tbl for update

作者: tx2730   发布时间: 2011-10-31

作者: cosio   发布时间: 2011-10-31

查询怎么改表结构啊,没看明白啊

作者: funfenffun   发布时间: 2011-10-31

查询之前 lock table table_name in share mode;
查询之后 commit; 或者 rollback;

作者: lord_is_layuping   发布时间: 2011-10-31

引用 3 楼 funfenffun 的回复:

http://www.eygle.com/faq/Use.Trigger.To.implement.ddl.deny.htm

顶一下2楼,学习

作者: BenChiM888   发布时间: 2011-10-31

补充下 其实我想知道的 是 同时有两个操作在进行 oracle是怎样自动管理的

作者: lord_is_layuping   发布时间: 2011-10-31

引用 5 楼 benchim888 的回复:

查询之前 lock table table_name in share mode;
查询之后 commit; 或者 rollback;



加的这个 共享锁 是 DDL锁吗

作者: scrack   发布时间: 2011-10-31

引用 3 楼 funfenffun 的回复:
http://www.eygle.com/faq/Use.Trigger.To.implement.ddl.deny.htm



--可以参照一下!

作者: scrack   发布时间: 2011-10-31

SQL code
[Quote=引用 7 楼 scrack 的回复:]
补充下 其实我想知道的 是 同时有两个操作在进行 oracle是怎样自动管理的
[/Quote]

select * from tbl for update nowait;

作者: cosio   发布时间: 2011-10-31

引用 9 楼 cosio 的回复:

引用 3 楼 funfenffun 的回复:
http://www.eygle.com/faq/Use.Trigger.To.implement.ddl.deny.htm



--可以参照一下!


这个我看过 但是 这个是oracle 自己内部机制吗

作者: cosio   发布时间: 2011-10-31

多看看 并发控制 锁 是怎么实现的就知道了
2个同时select 是没关系的。

作者: scrack   发布时间: 2011-10-31

select .... for update 这种操作属于DDL操作 它会导致和此表有关的事务全部都被 提交 慎用。

作者: lxpbs8851   发布时间: 2011-10-31

學習了,謝謝

作者: lxpbs8851   发布时间: 2011-10-31