ALTER PROCEDURE saveMessageToMdb
(
@TotalNo int,
@MonthNo int ,
@DwgNo nvarchar(50),
@TableName nvarchar(255)
)
AS
DECLARE @selectStr nvarchar(2000)
SELECT @selectStr ='INSERT INTO '+@TableName+'
(TotalNo,MonthNo,DwgNo)
VALUES ( '+@TotalNo+' ,MonthNo,'+@DwgNo+', )'
EXEC (@selectStr)
运行时出现如下错误
将 nvarchar 值 'INSERT INTO 制六(TotalNo,MonthNo,DwgNo)
VALUES ( ' 转换为数据类型为 int 的列时发生语法错误。
制六为所输入的TableName 我尝试了很多次,都没有解决,请问错在什么地方?
(
@TotalNo int,
@MonthNo int ,
@DwgNo nvarchar(50),
@TableName nvarchar(255)
)
AS
DECLARE @selectStr nvarchar(2000)
SELECT @selectStr ='INSERT INTO '+@TableName+'
(TotalNo,MonthNo,DwgNo)
VALUES ( '+@TotalNo+' ,MonthNo,'+@DwgNo+', )'
EXEC (@selectStr)
运行时出现如下错误
将 nvarchar 值 'INSERT INTO 制六(TotalNo,MonthNo,DwgNo)
VALUES ( ' 转换为数据类型为 int 的列时发生语法错误。
制六为所输入的TableName 我尝试了很多次,都没有解决,请问错在什么地方?
改為
ALTER PROCEDURE saveMessageToMdb
(
@TotalNo int,
@MonthNo int ,
@DwgNo nvarchar(50),
@TableName nvarchar(255)
)
AS
DECLARE @selectStr nvarchar(2000)
SELECT @selectStr ='INSERT INTO '+@TableName+'
(TotalNo,MonthNo,DwgNo) VALUES ( '+Rtrim(@TotalNo)+' ,'+Rtrim(MonthNo)+','''+@DwgNo+''', )'
EXEC (@selectStr)
(
@TotalNo int,
@MonthNo int ,
@DwgNo nvarchar(50),
@TableName nvarchar(255)
)
AS
DECLARE @selectStr nvarchar(2000)
SELECT @selectStr ='INSERT INTO '+@TableName+'
(TotalNo,MonthNo,DwgNo)
VALUES ( '+cast(@TotalNo as varchar)+' ,MonthNo,'+@DwgNo+', )'
EXEC (@selectStr)
(
@TotalNo int,
@MonthNo int ,
@DwgNo nvarchar(50),
@TableName nvarchar(255)
)
AS
DECLARE @selectStr nvarchar(2000)
SELECT @selectStr ='INSERT INTO '+@TableName+'
(TotalNo,MonthNo,DwgNo) VALUES ('+cast(@TotalNo as varchar)+','+cast(@MonthNo as varchar)+','''+@DwgNo+''')'
exec (@selectStr)