日期:2014-05-17  浏览次数:20420 次

一个页面写存储过程还是一个类型写一个存储过程好呢
例如A、B、C三个页面都用到插入功能,相关的数据表各不相同

一、每个页面写一个存储过程,语句如下:
SQL code
insert into news(title,[content],addtime) values (@TableTitle,@TableContent,@TableTime)



二、只写一个插入的存储过程,然后每个页面调用,语句如下:
SQL code
insert into @TableName(@TableList) values (@TableValue)


@TableName为表名,@TableList为字段名,@TableValue为插入的值,在cs中按具体的表、字段及对应的值进行赋值

两种方法,哪种好呀?

------解决方案--------------------
在通常的存储过程设计中,是不可以使用表名称作为参数,实现表的动态性查询的,因为在Sql Server中,表是有结构的,与普通的sql变量不同。但是,可以利用系统的两个存储过程来实现。

注意事项http://august.blog.51cto.com/59588/6904

怎么容易怎么来
------解决方案--------------------
用表名作参数,恐怕只能用拼接sql语句的存储过程。但
如果用拼接sql语句的方法来写存储过程,还不如不要存储过程。直接在C#代码中实现。
那样技术单一容易维护。维护点集中在代码层面。

单个增删改语句写存储过程,个人认为也是很无趣的。