5

Identityを作成できるかどうか(Varchar列での自動インクリメント。およびそれを主キーにして他のテーブルで外部キー参照を作成するにはどうすればよいですか)を知りたいです。

これは私が持っているコードです-

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

QuestionNoを主キーとして作成し、それを別のテーブルで参照する方法はありますか(Answers(AnswerID、QuestionNo、AnswerTextなど)?

4

3 に答える 3

9

これはSQLServer2005でうまくいきました。

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

主な部分は、計算列にはPERSISTEDキーワードが必要であるということです...

于 2010-09-03T19:23:05.160 に答える
3

直接ではありません。

  • 整数列で計算列を使用する(OMGポニーの回答による)
  • udfを使用する(SO1SO2

私の質問は:なぜですか?単純な数値よりも遅くなります。

于 2010-09-03T19:24:52.970 に答える
-1

このコードは機能しています

CREATE TABLE IdentityExample(
  ID int IDENTITY NOT NULL, 
  QNo as 'Q'+Cast(ID as Varchar(10)) PERSISTED PRIMARY KEY, 
  name Varchar(200)
)
于 2015-10-17T05:11:23.047 に答える