Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 sqlserver中的存储过程_Sql Server 2005_Stored Procedures - Fatal编程技术网

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个不同的任务,为什么要把所有的事情都压缩到一个过程中呢?根本没有任何意义——从可维护性的角度来看,这些“一刀切”的过程根据其输入参数做各种不同的事情,完全是一场噩梦。别这样!想都别想。。。。