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

关于存储过程与表的关系的疑问
最近想学存储过程,但是不知道怎么下手,有很多疑问,望大家相助。
问题一:一张表是不是对应4个存储过程,select,insert,update,delete
问题二:不同事件中要用到不同的查询,插入,更新,删除语句,比如查询语句:string sql="select * from tableName"; string sql2="select * from tableName where ID=‘“+ 4 +”’";等等, 这样的话一个查询存储过程能搞定吗

------解决方案--------------------
能!! 

不过不太懂你的意思啊

存储过程是用来调用的 , 怎么用都行啊 只要你的存储过程是对的。
------解决方案--------------------
一、select,insert,update,delete是SQL的四种基本数据操作,统称DML.
二、结合后面你说的一起讲吧。不同的表可以用相同的存储过程,只要在同一个数据库里(哈哈,废话)。
例如要在不同表取不同的ID:
create procedure ReadID(@ID1 int,@ID2 int)
as
select *
from PersonFile
where PersonFile.ID=@ID1

select *
from PersonFile
where PersonFile.ID=@ID2
如果两个表之间没联系的话,不建议把这样的操作放在同一存储过程里,没什么意义。
------解决方案--------------------
至于是不是要用到四个对应一张表的存储过程,这完全取决于自己的业务需要。
尽量将存储过程写的“活”一点,表现在参数的使用上。