存储过程问题的讨论?谢谢!求帮助。
小弟才学存储过程有个弱弱的问题。
看到很多存储过程的传入参数都是 sql语句做为条件部分 如:
select * from xx where name=@Name
或
update xxx set name=@Name where Id=@id
或
insert into table1 values(@value1,@value2,@value3...)
我想问的是,如果我想把table名,或列名都做为参数呢?这样会不会影响存储过程的执行效率?如:
CREATE PROCEDURE aa
(
@tableName nvarchar(100),
@condition nvarchar(100)
)
AS
Declare @sql nvarchar(1000)
set @sql='select * from '+@tableName+' where '+@condition
EXEC(@sql)
GO
这样在程序中调用时,我们就把table中或列名还有条件传入就行了。比起对一个具体明确操作,一个存储过程,执行效率会不会要低一些?