《MYSQL教程sql動態添加字段實例解析》要點:
本文介紹了MYSQL教程sql動態添加字段實例解析,希望對您有用。如果有疑問,可以聯系我們。
導讀:實現功能:在SQL Server表中,當用戶添加一條字段信息數據到一個SQL Server表中,通過觸發器相應在另一個表中自動增加一個對應的字段.1...
MYSQL入門實現功能:
在SQL Server表中,當用戶添加一條字段信息數據到一個SQL Server表中,通過觸發器相應在另一個表中自動增加一個對應的字段.
MYSQL入門1,首先,建立一個字段信息表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
MYSQL入門2,建立一個動態字段表Customeres, 當Fields每增加一條記錄,本表就相應增加一個字段.
?
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?
MYSQL入門3,為SQL Server表Fields新增一個觸發器,當增加數據時,都會自動調用此觸發器.
注意:字段的長度硬編碼,只是為了演示目的,應根據自己的需要來動態調整長度.
?
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?
MYSQL入門4,在查詢分析中執行
?
Insert into Fields ([name], DataType) values ('name', 'varchar')
維易PHP培訓學院每天發布《MYSQL教程sql動態添加字段實例解析》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/12044.html