varchar列上的标识键 - T-SQL

Abe*_*bey 4 sql t-sql sql-server calculated-columns sql-server-2008

我想知道我是否可以创建一个Identity(在Varchar列上自动增加.如何将其作为主键并在其他表上创建外键引用.

这是我的代码 -

CREATE TABLE Questions(
    QuestionID int IDENTITY PRIMARY KEY, 
    QuestionNo as 'Q'+Cast(QuestionID as Varchar(10),       
    Question Varchar(200)
)
Run Code Online (Sandbox Code Playgroud)

有没有办法可以将QuestionNo作为主键并在另一个表中引用它(比如Answers(AnswerID,QuestionNo,AnswerText)?

OMG*_*ies 9

这在SQL Server 2005上对我有用:

CREATE TABLE Questions(
  QuestionID int IDENTITY NOT NULL, 
  QuestionNo as 'Q'+Cast(QuestionID as Varchar(10)) PERSISTED PRIMARY KEY, 
  Question Varchar(200)
)
Run Code Online (Sandbox Code Playgroud)

主要部分是计算列需要PERSISTED关键字......