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

求一个SP
我现在要建一个SP,内容是插入记录,表名是动态的,想从参与传入,参数表如下

@表名 nvarchar(40),
@标识 uniqueidentifier, 
@线程编号 varchar(10), 
@设备编号 varchar(10), 
@日志时间秒 datetime, 
@日志时间毫秒 int, 
@日志类型 nvarchar(20),
@日志位置 nvarchar(100),
@日志标题 nvarchar(100),
@日志内容 ntext

想请教这个SP怎么写,因为动态表名,又是GUID的,拼接不好用,提示不能ADD操作不支持GUID和日期期


另外想请教一下,这个SP写成后,如果我在程序里多线程需要非常频繁的插入,我的代码怎么写比较好,.NET程序。
能达到每秒200条插入的.NET程序怎么写比较好,谢谢。

------解决方案--------------------
表名用guid?
那你以后怎么引用表?
如果不是GUID,拼语句动态执行就行了.
如果表名不多,可以用 if else 选几个语句分别单独执行,而不用动态.
------解决方案--------------------
把GUID能不能转换一下 不然没办法拼接 写不了存储过程。
------解决方案--------------------
没明白
------解决方案--------------------
用动态的与不用动态的之间,差一次编译.因为如果不是动态的,那么编译一次后会驻留,再次执行便不用编译.而动态的,每次都要编译.你是编程的,其中的差别你应该能够体会到.

另外,你说每秒要插入200次,这个恐怕有点多,让一个存储过程(可能还要动态编译的)从开始接收数据到执行完成只花5mS 时间,有点难度.除非你的硬件足够强劲.