2014-02-13 31 views
1

我有一个名为“Member”的表。它有一个主键“PersonID”,他是外国人。表格“Member”也有一个名为“MemberNumber”的字段。我想要“会员编号”自动增量。 Identity选项用于“PersonID”。如何为“MemberNumber”生成一个数字?生成非主键的数字

例子我多么希望它是:

表人:

 
-------------------------------------------------- 
     PersonID (PK) |  Name    | 
-------------------------------------------------- 
     1    |   Bob   | 
-------------------------------------------------- 
     2    |   Sam   | 
-------------------------------------------------- 
     3    |   Tom   | 
-------------------------------------------------- 

表会员:

 
-------------------------------------------------- 
    PersonID (PK & FK) | MemberNumber   | 
-------------------------------------------------- 
     1    |   1    | 
-------------------------------------------------- 
     3    |   2    | 
-------------------------------------------------- 
+1

什么是您的DBMS? –

+0

@AlmaDo SqlServer 2008 – Stanko

回答

1

我不知道你真正的意思,你想怎么办这解决了。 我的问题是,我不知道你正在谈论的上下文。也许更具体一些可以帮助。但我会尽力做到最好,并给出一些(可能的?)答案。

  1. 您可以为您的MemberNumber创建一个变量,并用每个新条目增加一个变量。如果您不删除条目,也可以获取表格的长度,添加一个并将其作为新条目插入。

  2. 您可以查看最后一个条目以获取最高的MemberNumber,添加一个并将其作为新条目插入。 (非常类似于没有删除的解决方案,但是可以用此删除)

+0

@Dancelgel Person具有名称,名字,地址等属性。成员从Person继承字段(包括PersonID),并且有一些他自己的成员函数,成员等字段。我的问题是什么时候我创建一个成员,我希望数据库自动增加MemberNumber。 – Stanko

+0

@Dancelgel我会尝试你的第二个选项,听起来很不错。 – Stanko