首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL触发器动态添列求教

2013-04-21 
SQL触发器动态加列求教CREATE TABLE P_PEInfo(PE_OCNO nvarchar(50) primary key)CREATE TABLE P_PEMenu(I

SQL触发器动态加列求教


CREATE TABLE P_PEInfo(
PE_OCNO nvarchar(50) primary key
)

CREATE TABLE P_PEMenu(
    ID nvarchar(30) primary key,
    Name nvarchar(50),
)

CREATE TRIGGER TRIGGER_PE_INFOMENU
ON PE_PEMenu
AFTER INSERT
AS 
DECLARE @ID NVARCHAR(30)
BEGIN 
set @ID = inserted.ID
ALTER table P_PEInfo ADD  @ID NVARCHAR(30)
END 



ALTER table P_PEInfo ADD  @ID NVARCHAR(30)
这句话有问题,请教可行性与能否修改。 SQL 触发器
[解决办法]
set @ID = ltrim(inserted.ID)
exec('ALTER table P_PEInfo ADD  '+@ID+' NVARCHAR(30)')
[解决办法]
需求改改吧,这样设计太夸张了
[解决办法]
CREATE TRIGGER TRIGGER_PE_INFOMENU
ON P_PEMenu
AFTER INSERT
AS 
DECLARE @ID NVARCHAR(30)
BEGIN 
select @ID =ID FROM inserted
EXEC('ALTER table P_PEInfo ADD  '+@ID +' NVARCHAR(30)')
END 

INSERT INTO P_PEMenu(id,name)
SELECT N'test',N'123'


SELECT * FROM P_PEInfo

热点排行