我先从表trade中读出的一条记录的id值
然后创建的一个新表(新表的表名的要含有id的信息)
即:
读出的id值为@i
要创建的表名为 Trade_Account_@i
(如果@i等于1,表名就要为Trade_Account_1;
如果@i等于10,表名就要为Trade_Account_10
)
但是我下面的代码创建的表名总是为Trade_Account_@i
请问如何实现?
CREATE TRIGGER ins_table ON [dbo].[Trade]
FOR INSERT, UPDATE, DELETE
AS
begin
DECLARE @i int
SELECT @i=id FROM inserted
if update (tradename)
CREATE TABLE [dbo].Trade_Account_@i(
[id] [bigint] IDENTITY (1, 1) NOT NULL ,
[TradeID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[TradeName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[TradeMoney] [float] NULL ,
[LogID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
)
end
然后创建的一个新表(新表的表名的要含有id的信息)
即:
读出的id值为@i
要创建的表名为 Trade_Account_@i
(如果@i等于1,表名就要为Trade_Account_1;
如果@i等于10,表名就要为Trade_Account_10
)
但是我下面的代码创建的表名总是为Trade_Account_@i
请问如何实现?
CREATE TRIGGER ins_table ON [dbo].[Trade]
FOR INSERT, UPDATE, DELETE
AS
begin
DECLARE @i int
SELECT @i=id FROM inserted
if update (tradename)
CREATE TABLE [dbo].Trade_Account_@i(
[id] [bigint] IDENTITY (1, 1) NOT NULL ,
[TradeID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[TradeName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[TradeMoney] [float] NULL ,
[LogID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
)
end
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货