Sql server 哪种存储过程编写方式更好?
我想写5条不同类型的SELECT语句,但目的相同 我应该为它们编写5个单独的存储过程吗 或者我应该编写一个存储过程,然后按照Sql server 哪种存储过程编写方式更好?,sql-server,sql-server-2008,stored-procedures,Sql Server,Sql Server 2008,Stored Procedures,我想写5条不同类型的SELECT语句,但目的相同 我应该为它们编写5个单独的存储过程吗 或者我应该编写一个存储过程,然后按照大小写样式转到特定的存储过程吗 5条简单的SELECT语句如下: SELECT a, b, c FROM table1 WHERE vv = 'ss' SELECT a, b, c FROM table2 WHERE vv = 'ss' 就性能而言,拥有不同的SP具有优势,因为它可以有不同的执行计划,SQL server可以更高效地选择正确的执行计划 拥有一个过程更易于维
大小写
样式转到特定的存储过程吗
5条简单的SELECT
语句如下:
SELECT a, b, c FROM table1 WHERE vv = 'ss'
SELECT a, b, c FROM table2 WHERE vv = 'ss'
就性能而言,拥有不同的SP具有优势,因为它可以有不同的执行计划,SQL server可以更高效地选择正确的执行计划
拥有一个过程更易于维护,并将减少代码。您还可以编写一个带有动态查询的存储过程,其中您的参数指向正确的表
Create proc test (@table varchar(50))
AS
BEGIN
DECLARE @str varchar (MAX)
SET @str = 'SELECT a, b, c FROM ' + @table + ' WHERE vv = ''ss'''
EXEC(@str)
Pro在这里:您的表名是动态的con's:你需要在调用过程的地方定义这个表名。你能解释一下这5个不同的
SELECT
语句应该做什么吗?到目前为止,您列出的信息并不多。@SchmitzIT.请查看编辑可能是我不清楚..但如果表不同,则意味着表结构也会不同。。