'insert into '+@tableName+'(a) values('+cast(@a as varchar)+')'
CREATE proc insertA @tableName varchar(50),@a smalldatetime as declare @sql varchar(300) set @sql = 'insert into ['+@tableName+'](a) values(''+cast(@a as varchar)+'')' exec(@sql) GO
CREATE proc insertA @tableName varchar(50),@a smalldatetime as declare @sql varchar(300) set @sql = 'insert into ['+@tableName+'](a) values('''+cast(@a as varchar)+''')' exec(@sql) GO
我的修改如下: CREATE proc insertA @tableName varchar(50),@a smalldatetime as declare @sql varchar(300) set @sql = 'insert into '+@tableName+'(a) values('+''''+cast(@a as varchar)+''''+')' exec(@sql) GO
CREATE proc insertA @tableName varchar(50),@a smalldatetime as declare @sql varchar(300) set @sql = 'insert into '+@tableName+'(a) values('+''''+cast(@a as varchar)+''''+')' exec(@sql) GO
'insert into ['+@tableName+'](a) values('''+cast(@a as varchar)+''')' 是关键,在字符串中如果有'号的话,就要用''来替代
set @sql = 'insert into ['+@tableName+'](a) values('''+cast(@a as varchar)+''')' 就OK.
as
declare @sql varchar(300)
set @sql = 'insert into ['+@tableName+'](a) values(''+cast(@a as varchar)+'')'
exec(@sql)
GO
as
declare @sql varchar(300)
set @sql = 'insert into ['+@tableName+'](a) values('''+cast(@a as varchar)+''')'
exec(@sql)
GO
CREATE proc insertA @tableName varchar(50),@a smalldatetime
as
declare @sql varchar(300)
set @sql = 'insert into '+@tableName+'(a) values('+''''+cast(@a as varchar)+''''+')'
exec(@sql)
GO
as
declare @sql varchar(300)
set @sql = 'insert into '+@tableName+'(a) values('+''''+cast(@a as varchar)+''''+')'
exec(@sql)
GO
是关键,在字符串中如果有'号的话,就要用''来替代
就OK.