日期:2014-05-18  浏览次数:20542 次

SQL2005 创建触发器问题
先判断当前的时间,也就是年月,然后再将这个年月组成相应的表名,比如table20120419,然后给这个表创建一个触发器。也就是说开始此表名是不知道的,需要动态求出,然后再将求出来的表名放到创建触发器语句中。求教各位老师

------解决方案--------------------
SQL code


--获取动态表名
declare @table varchar(200)
Select @table='table'+CONVERT(varchar(100), GETDATE(), 112) 

--拼串执行
exec('Create '+@table+'......Add ......')

------解决方案--------------------
写一个以给定字符串作为表名,生成表的过程
再写一个以给定字符串作为表名,生成触发器的过程
然后写一个过程,先生成表名,存储在一个变量中,调用第一个过程并传递变量,然后GO,然后再是调用第二个过程,并传递变量,再GO一下
------解决方案--------------------
把1#的动态获取表名的方法写到你的触发器里面 不行吗?
 一定要先在触发之前 就得到这个 动态获取的表?