您可以从程序中获取表名。
与以下代码类似:
Create Procedure [dbo].[sp_SelectAll]
@BankName nvarchar(50)
As
Begin
Select *
From @BankName
End
这是错误代码。
还有另一种方法吗?
答案 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
才能使其正常运行。