About:存储过程使用动态表名 ??


如题
INSERT Tab_w_Trans200609 (A_accounts,c_number,w_id,pos_id,t_money,flag,t_lastmoney,groupid,sliceid,op_c_number,t_date)
VALUES (@A_Accounts,@C_number,@W_ID,@Pos_id,@t_money,@flag,@Balance,@groupid,@sliceid,@OP_C_number,@t_date )

表Tab_w_Trans200609 是动态的 后边的6位“200609”是根据系统当前时间决定的
请问在存储过程中如何实现向动态的表中插入记录
在存储过程中如何实现?
[356 byte] By [gfc-天狼星] at [2008-5-2]
# 1
--如:
declare @sql nvarchar(4000)
set @sql='INSERT Tab_w_Trans'+rtrim(year(getdate()))+rtrim(month(getdate()))+'
(A_accounts,c_number,w_id,pos_id,t_money,flag,t_lastmoney,groupid,sliceid,op_c_number,t_date)
vALUES (@A_Accounts,@C_number,@W_ID,@Pos_id,@t_money,@flag,@Balance,@groupid,@sliceid,@OP_C_number,@t_date ) '
exec sp_executesql @sql,N'@A_Accounts 类型,@C_number 类型,...',@A_Accounts,@C_number,....
WangZWang-先来 at 2007-10-25 > top of Msdn China Tech,MS-SQL Server,疑难问题...
# 2
用动态SQL,连接起来就OK了,把表名做参数传就OK了
quanyi-长生天 at 2007-10-25 > top of Msdn China Tech,MS-SQL Server,疑难问题...