新聞中心
如何為動(dòng)態(tài)為SQL Server表添加字段呢?對(duì)SQL新手來(lái)說(shuō),這可能是一個(gè)難題,不過(guò)沒(méi)關(guān)系,下面就將為您介紹該方法,希望對(duì)您有所幫助。

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括龍勝網(wǎng)站建設(shè)、龍勝網(wǎng)站制作、龍勝網(wǎng)頁(yè)制作以及龍勝網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,龍勝網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到龍勝省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
本例演示在SQL Server表中,當(dāng)用戶添加一條字段信息數(shù)據(jù)到一個(gè)SQL Server表中,通過(guò)觸發(fā)器相應(yīng)在另一個(gè)表中自動(dòng)增加一個(gè)對(duì)應(yīng)的字段。
1 首先建立一個(gè)字段信息表Fields
- CREATE TABLE [dbo].[Fields] (
- [FieldID] [int] IDENTITY (1, 1) NOT NULL ,
- [Name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
- [DataType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL
- ) ON [PRIMARY]
- GO
- ALTER TABLE [dbo].[Fields] ADD
- CONSTRAINT [PK_Fields] PRIMARY KEY CLUSTERED
- (
- [FieldID]
- ) ON [PRIMARY]
- GO
2 建立一個(gè)動(dòng)態(tài)字段表Customeres, 當(dāng)Fields每增加一條記錄,本表就相應(yīng)增加一個(gè)字段。
- CREATE TABLE [dbo].[Customeres] (
- [ID] [int] IDENTITY (1, 1) NOT NULL
- ) ON [PRIMARY]
- GO
- ALTER TABLE [dbo].[Customeres] ADD
- CONSTRAINT [PK_Customeres] PRIMARY KEY CLUSTERED
- (
- [ID]
- ) ON [PRIMARY]
- GO
3 為SQL Server表Fields新增一個(gè)觸發(fā)器,當(dāng)增加數(shù)據(jù)的時(shí)候,都會(huì)自動(dòng)調(diào)用此觸發(fā)器。注意:字段的長(zhǎng)度硬編碼,只是為了演示目的,應(yīng)根據(jù)自己的需要來(lái)動(dòng)態(tài)調(diào)整長(zhǎng)度。
- CREATE TRIGGER trigger_addField ON Fields
- FOR INSERT
- AS
- DECLARE @FieldID int,
- @Name varchar(50),
- @DataType varchar(50),
- @SQL varchar(1000)
- SELECT @FieldIDFieldID = FieldID, @Name = [Name], @DataTypeDataType = DataType
- FROM Inserted
- if not exists (SELECT * FROM syscolumns
- where id=object_id('Customeres')
- AND name=@Name)
- BEGIN
- SET @SQL = 'ALTER table Customeres add ' + @Name + ' '
- + @DataType + '(64) NULL'
- EXEC (@SQL)
- END
- PRINT @Name + ',' + @DataType
4 演示,在查詢分析中執(zhí)行
[[15663]]Insert into Fields ([name], DataType) values ('name', 'varchar')
【編輯推薦】
教您如何修改SQL Server系統(tǒng)表
SQL Server表變量和臨時(shí)表的區(qū)別
SQL Server臨時(shí)表簡(jiǎn)介
SQL SERVER索引介紹
使用ADO在sql server建表的方法
新聞名稱:如何為動(dòng)態(tài)為SQLServer表添加字段
本文URL:http://m.fisionsoft.com.cn/article/cdjgisp.html


咨詢
建站咨詢
