--测试:
drop table t1
go
create table t1(a varchar(30))
declare @str1 varchar(30),@cmd_str nvarchar(200)
set @str1 = 'abc'''''+'xxx'+'''''def'
select @cmd_str = 'insert into t1 values ('''+@str1+''')'
--print @cmd_strexec (@cmd_str)
select * from t1
drop table t1
go
create table t1(a varchar(30))
declare @str1 varchar(30),@cmd_str nvarchar(200)
set @str1 = 'abc'''''+'xxx'+'''''def'
select @cmd_str = 'insert into t1 values ('''+@str1+''')'
--print @cmd_strexec (@cmd_str)
select * from t1
declare @str1 varchar(30),@cmd_str nvarchar(200)
set @str1 = 'abc'''+'xxx'+'''def'
select @cmd_str = 'insert into a values ('''+replace(@str1,'''','''''')+''')'
exec (@cmd_str)
declare @str1 varchar(30),@cmd_str nvarchar(200)
set @str1 = 'abc'''''+'xxx'+'''''def'
select @cmd_str = 'insert into a values ('''+@str1+''')'
--print @cmd_strexec (@cmd_str)
select * from a
/*
col1
------------------------------
abc'xxx'def(所影响的行数为 1 行)*/drop table a
go
declare @cmd_str nvarchar(200)
set @str1 = 'abc''' + 'xxx' + '''def'
set @str1 = replace(@str1 , '''','''''')
select @cmd_str = 'insert into a(sbh) values ('' '+@str1+' '')'exec (@cmd_str)
set @str1 = 'abc'''+'xxx'+'''def'
insert into a values (@str1)
set @str1 = 'abc'''+'xxx'+'''def'
select @cmd_str = 'insert into a values ('''+@str1+''')'
exec (@cmd_str)
set @str1 = 'abc'''+'xxx'+'''def'
select @cmd_str = 'insert into a values (@str1)'
exec sp_executesql @cmd_str,N'@str1 varchar(30)',@str1