获取Store Procedure的程序的表名

时间:2011-02-15 07:02:54

标签: c# sql-server stored-procedures

您可以从程序中获取表名。

与以下代码类似:

Create Procedure [dbo].[sp_SelectAll]
@BankName nvarchar(50)

As
Begin
    Select *
    From @BankName
End

这是错误代码。

还有另一种方法吗?

3 个答案:

答案 0 :(得分:5)

你可以这样做:

exec('select * from'+ @BankName)

但使用它不是一个好习惯..

您可以从以下网址了解有关动态sql的更多信息:

http://www.mssqltips.com/tip.asp?tip=1160

http://www.sqlteam.com/article/introduction-to-dynamic-sql-part-1

答案 1 :(得分:0)

表格无法参数化。你必须编写动态sql,即生成sql字符串并使用exec执行它。

exec('select * from'+ @BankName)

答案 2 :(得分:0)

试试这个

  Create Procedure [dbo].[sp_SelectAll]
        @BankName nvarchar(50)

        As
        Begin
            EXEC('Select * from '+ @BankName)
        End

您需要使用dynamic SQL才能使其正常运行。