我正在创建一个查询,该查询将选择表中的所有数据。查询将根据我将传递给存储过程的变量选择到表。
在我的例子中。如果我执行example_sp table1它会在table1. 同样的事情,如果我使用example_table table2,它应该选择table2.
ALTER PROCEDURE example_sp
@type varchar(10), -- value will be `table1` or `table2`
AS
BEGIN
SELECT * FROM @type
END
Run Code Online (Sandbox Code Playgroud)
戈登建议的略有不同的版本......
ALTER PROCEDURE example_sp
@TableName SYSNAME --<-- Use appropriate data type for sql server objects
AS
BEGIN
SET NOCOUNT ON;
Declare @Sql NVARCHAR(MAX);
SET @Sql = N' SELECT * FROM ' + QUOTENAME(@TableName)
Exec sp_executesql @Sql
END
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6084 次 |
| 最近记录: |