Update Case的用法与execute执行字符串

摘自于网路:http://www.cnblogs.com/joinger/articles/1297160.html

update h_crm_SafetyAccessUser set 
       cancreate=case when a.cancreate=0 then b.cancreate else a.cancreate end,
       canedit=case when a.canedit=0 then b.canedit else a.canedit end,
       canbrowse=case when a.canbrowse=0 then b.canbrowse else a.canbrowse end,
       candelete=case when a.candelete=0 then b.candelete else a.candelete end
       from h_crm_SafetyAccessUser a join (select * from h_crm_SafetyAccessUser  where clientid=@Targetid) b
       on a.modalid=b.modalid and a.Userid=b.Userid
       where a.clientid=@clientid
==============================================

declare @t table(x char,y char)
declare @str varchar(20)
select * from @t
set @str='select 4+5'

execute (@str)

posted @ 2014-06-17 15:43  秋水惜朝  阅读(309)  评论(0编辑  收藏  举报