update table1 set aa='select * from table2 where bb='是'' 求其改写 在线等 解决就揭

时间:2021-10-02 17:06:56
update  table1 set aa='select * from table2 where bb='是'' 求其改写 在线等 解决就揭

说明: select * from table2 where bb='是' 
是数据库中我  需要存储的 字符串 
例如 数据库表结构:
===========================================================
《SQL》                                          《ID》
select * from table2 where bb='是'               00001
select * from table4 where cc=1                  00002
select * from table5 where dd=0                  00003
===========================================================
我 怎么才可以把  这个 UPDATE 执行

方法1:  在SQL2000中 将 select * from table2 where bb='是'  转换成不带 单引号' 

方法2:  在SQL2000中 将 update  table1 set aa='select * from table2 where bb='是''   
转换成 可以插入的语句

方法3:  在程序中  转换变量
string c =" update  table1 set aa='select * from table2 where bb='是'' "
string d;
d="有效的UPDATE语句  "


请高手 帮帮 想想   谢谢  只要解决问题 什么方法都可以已试  或者别的好方法
谢谢    
如果太难  可+分  谢谢啊

9 个解决方案

#1


update  table1 set aa='select * from table2 where bb=''是'''

#2


回复人: yanzheng1(光原) ( ) 信誉:100  2005-02-22 10:51:00  得分: 0  
 
 
   update  table1 set aa='select * from table2 where bb=''是'''
  
 
这样 我的 里面的SQL 就不能执行了 select * from table2 where bb=''是''  

我 里面的SQL 语句 以后要执行的

#3


update  table1 set aa='select * from table2 where bb=''是'''

#4


好像 你的UPDATE 存进去的  是:update  table1 set aa='select * from table2 where bb='是'

不是update  table1 set aa='select * from table2 where bb=''是''

我再试哈

#5


能执行的sql server里字符串中的连续2个单引号表示是1个单引号,你保存到字段里后你看一下结果不是你说的select * from table2 where bb=''是''  
而是select * from table2 where bb='是'

#6


declare @sqlstr nvarchar(200)
set @sqlstr=select 《SQL》 from biao where 《ID》=00001
select @sqlstr
update table1 set aa=@sqlstr

#7


declare @a table(a1 nvarchar(50),a2 varchar(50))
insert into @a(a1,a2)
select '122','''456'''
select * from @a

单引号---->>双引号

#8


感谢
 yanzheng1(光原) ( ) 信誉:100 
NewQger(Q哥) ( ) 信誉:100 
你们说的是对的  
我现在就再程序里把 string xx="select * from table2 where bb='是'"
转换成  string yy="select * from table2 where bb=''是''"
就 可以 string zz=" update table1 set aa='+ yy +' "了 
如果 你们知道C#里的字符串 的字符替换 函数  写个出来 也好
  先揭帖 哈  谢谢 所有参与本帖的朋友

#9


yy=xx.Replace("'", "''")  已解决哦

#1


update  table1 set aa='select * from table2 where bb=''是'''

#2


回复人: yanzheng1(光原) ( ) 信誉:100  2005-02-22 10:51:00  得分: 0  
 
 
   update  table1 set aa='select * from table2 where bb=''是'''
  
 
这样 我的 里面的SQL 就不能执行了 select * from table2 where bb=''是''  

我 里面的SQL 语句 以后要执行的

#3


update  table1 set aa='select * from table2 where bb=''是'''

#4


好像 你的UPDATE 存进去的  是:update  table1 set aa='select * from table2 where bb='是'

不是update  table1 set aa='select * from table2 where bb=''是''

我再试哈

#5


能执行的sql server里字符串中的连续2个单引号表示是1个单引号,你保存到字段里后你看一下结果不是你说的select * from table2 where bb=''是''  
而是select * from table2 where bb='是'

#6


declare @sqlstr nvarchar(200)
set @sqlstr=select 《SQL》 from biao where 《ID》=00001
select @sqlstr
update table1 set aa=@sqlstr

#7


declare @a table(a1 nvarchar(50),a2 varchar(50))
insert into @a(a1,a2)
select '122','''456'''
select * from @a

单引号---->>双引号

#8


感谢
 yanzheng1(光原) ( ) 信誉:100 
NewQger(Q哥) ( ) 信誉:100 
你们说的是对的  
我现在就再程序里把 string xx="select * from table2 where bb='是'"
转换成  string yy="select * from table2 where bb=''是''"
就 可以 string zz=" update table1 set aa='+ yy +' "了 
如果 你们知道C#里的字符串 的字符替换 函数  写个出来 也好
  先揭帖 哈  谢谢 所有参与本帖的朋友

#9


yy=xx.Replace("'", "''")  已解决哦