小编Fal*_*que的帖子

SQL Server:Oracle中的RowVersion等价物

Oracle是否具有与SQL ServerRowVersion类似的数据类型?

插入或更新行时,相应的"版本"列(类型RowVersion)会自动更新.

MSDN说关于RowVersion:

  • 是一种在数据库中公开自动生成的唯一二进制数的数据类型.rowversion通常用作版本标记表行的机制.存储大小为8个字节.rowversion数据类型只是一个递增的数字,不保留日期或时间.

  • 每个数据库都有一个计数器,该计数器针对在数据库中包含rowversion列的表上执行的每个插入或更新操作递增.此计数器是数据库rowversion.这会跟踪数据库中的相对时间,而不是可以与时钟关联的实际时间.一个表只能有一个rowversion列.每次修改或插入具有rowversion列的行时,都会在rowversion列中插入递增的数据库rowversion值.

  • 您可以使用行的rowversion列轻松确定自上次读取行以来该行中的任何值是否已更改.如果对该行进行了任何更改,则会更新rowversion值.如果没有对该行进行任何更改,则rowversion值与先前读取的值相同.

  • 您可以向表中添加rowversion列,以便在多个用户同时更新行时帮助维护数据库的完整性.您可能还想知道在不重新查询表的情况下更新了多少行和哪些行.

我们正在使用oracle设计数据模型,并希望使用Version列来管理并发.

我还想知道Oracle世界中是否有更好的方法.

sql sql-server oracle rowversion

15
推荐指数
2
解决办法
8212
查看次数

OnPreRender与Page_PreRender

我知道Page PreRender事件以及覆盖OnPreRender,但不知道是否存在Page_PreRender方法.最近在浏览这个论坛的时候,我发现并搜索了两者之间的差异但是得不到多少?

这是我的观察:

我有一个标签为Label1的页面.

场景1:

    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = "load ";
    }
    protected override void OnPreRender(EventArgs e)
    {
        Label1.Text += "OnPreRender ";
        base.OnPreRender(e);
    }
    private void Page_PreRender(object sender, System.EventArgs e)
    {
        Label1.Text += "Page_PreRender ";
    }
Run Code Online (Sandbox Code Playgroud)

Lable1的值将是:加载OnPreRender Page_PreRender

场景2:

        protected void Page_Load(object sender, EventArgs e)
        {
            Label1.Text = "load ";
        }
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            Label1.Text += "OnPreRender ";
        }
        private void Page_PreRender(object sender, System.EventArgs e)
        {
            Label1.Text += "Page_PreRender ";
        } …
Run Code Online (Sandbox Code Playgroud)

asp.net

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

asp.net ×1

oracle ×1

rowversion ×1

sql ×1

sql-server ×1