SQL更新用例

时间:2018-09-13 14:19:37

标签: sql sql-server sql-update

我正在尝试更新SQL Server表中用于生成ID的列: 表的结构是这样的

名称varchar(50),LastID长

在最后一个ID中,我们保留为诸如StudentID之类的内容生成的最后一个ID。所以数据看起来像这样

df['gender'] = np.select([df.name.str.contains(" |".join(m_names)),
                          df.name.str.contains(" |".join(f_names))],
                         [2, 1], 
                         default=3)

最后一个ID递增1,以生成(主键)的唯一ID。

现在有一种情况,当到达最后一个最大值(例如100000)时,我们必须将此LastID重置为0。所以我在用

public function readCell($column, $row, $worksheetName = '')
{
    //  Read rows J , BB and CC only
    if (in_array($column, range('J', 'J'))
          || in_array($column, range('BB','BB'))
          || in_array($column, range('CC','CC'))) 
    {
        return true;
    }
    return false;
}

范围是我们传递给存储过程的参数,一般情况下为100。因此,在设置LastID之前,我先检查它是否超出了Max作为学生ID,即1,00,000。

在上述更新查询中困扰我的是,如果没有超出范围,我将再次将LastID更新为当前值。寻找更好的选择。我不想做的是:

使用select并将LastID保留在变量或类似的内容中。

如果可能的话,我只想进行一次更新。

这是一个sql server 2008数据库,所以我不能使用sql server 2012的内置序列功能。

如果需要更多信息,请告诉我。

0 个答案:

没有答案