【发布时间】:2017-01-26 00:35:50
【问题描述】:
我正在尝试创建一个用于插入新数据的存储过程。基本上我收到关于“声明表变量@tablename”的错误。
我试过了:
create procedure [dbo].[spInsertProc](@table_name varchar(max))
as
begin
declare @name nvarchar(128);
declare @description nchar(255);
declare @tablename varchar(max);
--declare @tablename as table;
set @tablename = @table_name;
Insert Into @tablename ([name], [description])
Values (@name, @description)
end
另一个问题是这个存储过程是安全的,因为我没有使用查询字符串,对吧?
【问题讨论】:
-
不能在任何sql语句中使用变量作为表名。
标签: c# sql-server stored-procedures