将表名作为参数传递 [英] Pass tablename as parameter

查看:231
本文介绍了将表名作为参数传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆