您好,我正在一個項目,我必須在數據庫中存儲一些值,點擊一個按鈕。這是創建表的代碼:修改sql表中已包含數據的列的後續值
create table dbo.Cpecial_Partner_Info_tbl
(
[S.No] int identity(1,1),
[Partner ID] varchar(20),
[Partner Code] varchar(20),
[Partner Name] varchar(100),
[Partner Type] varchar(15),
[User ID] varchar(50) primary key,
[Password] varchar(50),
)
在這張表中我增加了一些值。現在我的要求是,合作伙伴ID和合作伙伴代碼值應該來自s.no值。例如,如果我的s.no值爲 '' 中,PARTNERID和PARNTER代碼值應爲 'part01' 和 'PC01' RESP。我知道創建一張新桌子並使用我的條件的代碼。這是我可以使用的代碼:
create table dbo.Cpecial_Partner_Info_tbl
(
[S.No] int identity(1,1),
[Partner ID] as 'PART' + right('0' + Convert(VarChar(10), [S.No]), 1) persisted,
[Partner Code] as 'PC' + right('0' + Convert(VarChar(10), [S.No]), 1) persisted,
[Partner Name] varchar(100),
[Partner Type] varchar(15),
[User ID] varchar(50) primary key,
[Password] varchar(50),
)
但是使用上面的代碼意味着我必須重新創建表。所以我的問題是我可以應用上述條件合作伙伴ID和合作伙伴代碼而不重新創建表(因爲我已經在表中有一些重要的數據)?在此先感謝
爲什麼你需要重新創建表?您可以刪除兩列並使用所需的定義創建新列(請參閱['ALTER TABLE'](http://msdn.microsoft.com/zh-cn/library/ms190273(v = sql.100).aspx ))而不會影響表格的其餘部分。或者您的意思是說,您在PartnerID和PartnerCode列中有不符合您的公式的現有值,但是您仍想保留它們,並且只將公式用於新行?另外值得一提的是,在列名中使用空格通常是一個壞主意:它會在腳本和編程中產生各種「小」問題。 – Pondlife 2013-02-20 14:51:06
@Pondlife是的,這正是我想要的...即使我反對在列名稱中使用空格,但我的團隊正在遵循某些命名空間,所以我必須使用 – nitinvertigo 2013-02-21 05:16:14