Sql server 2005 sqlserver中的存储过程
我可以对多个查询只使用一个存储过程吗 像这样:Sql server 2005 sqlserver中的存储过程,sql-server-2005,stored-procedures,Sql Server 2005,Stored Procedures,我可以对多个查询只使用一个存储过程吗 像这样: SELECT @var_name[0] from @table_name WHERE @con1 = @var_name[1] ; 你不能那样做。您可以使用以下内容动态构建查询 EXEC('SELECT ' + @var_name + ' FROM ' + @table_name + ' WHERE ' + @Con1 + ' = ' + @var_name) 但在执行此操作时,请注意潜在的性能和sql注入问题。为什么?!?一个好的存储过程应该
SELECT @var_name[0] from @table_name WHERE @con1 = @var_name[1] ;
你不能那样做。您可以使用以下内容动态构建查询
EXEC('SELECT ' + @var_name + ' FROM ' + @table_name + ' WHERE ' + @Con1 + ' = ' + @var_name)
但在执行此操作时,请注意潜在的性能和sql注入问题。为什么?!?一个好的存储过程应该像任何代码片段一样,只关注一个明确定义的任务。如果你有10个不同的任务,为什么要把所有的事情都压缩到一个过程中呢?根本没有任何意义——从可维护性的角度来看,这些“一刀切”的过程根据其输入参数做各种不同的事情,完全是一场噩梦。别这样!想都别想。。。。