读书人

SQL触发器动态添列求教

发布时间: 2013-04-21 21:18:07 作者: rapoo

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

读书人网 >SQL Server

热点推荐