将表名作为参数传递 [英] Pass tablename as parameter
本文介绍了将表名作为参数传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在sqlserver中将表名作为参数传递??
仅使用T-SQL(存储过程)而不通过c#或vb ...
我搜索了很多次,但是我无法获得实际结果..
请帮我...
提前感谢...
How to pass tablename as parameter in sqlserver???
using only T-SQL(stored procedure) not through c# or vb...
So many times I googled But i Cannot get actual result..
plz help me...
Thanx in advance...
推荐答案
您将其作为字符串传递,但随后在存储的proc中,您必须使用动态sql":
You pass it as a string, but then in your stored proc, you have to use "dynamic sql":
CREATE PROCEDURE [dbo].[spn_executeSQLExample]
(
@tableName VARCHAR(100)
)
AS
BEGIN
DECLARE @sqlStatement AS NVARCHAR(500)
SET @sqlStatement = 'SELECT COUNT(*) FROM ' + @tableName
exec sp_executesql @sqlStatement
END
尝试一下.
Try this.
Create procedure tabproc
(
@tablename Varchar(500)
)
as
begin
EXEC('Select count(*) from '+ @tablename )
End
希望此示例代码有帮助:
Hope this sample code helps:
CREATE PROCEDUER TableNameProc
@TableName NVARCHAR(100)
AS
Begin
Declare @ResultSet Nvrarchar(100)
Set @ResultSet = 'Select * from ' + @TavkeName
exec(@ResultSet)
End
这篇关于将表名作为参数传递的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文