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