MLGB 微软的sqlserver有一个BUG,在使用表 变量 进行修改时,他会提醒你: 必须 声明 标量 变量 @tempTable。 首先 /*create table test(id int identity(1,1),name varchar(10))insert into test select ‘222’union select ‘444’union select ‘455’*/godecl
<link href=”/js/syntaxhighlighter/SyntaxHighlighter.css” rel=”stylesheet” type=”text/css” />
MLGB
微软的sqlserver有一个BUG,在使用表变量进行修改时,他会提醒你:
必须声明标量变量 “@tempTable”。
首先
/*create table test( id int identity(1,1), name varchar(10))insert into test select '222'union select '444'union select '455'*/godeclare @mytabe table( id int, name varchar(10))insert into @mytabe select 1,'123'union select 2,'123'union select 4,'123'union select 6,'123'-- 删除 delete from test where id not in ( select id from @mytabe ) --(4 行受影响)--(<strong>本文来源gaodaima#com搞(代@码$网6</strong>1 行受影响)-- 增加insert into test select name from @mytabe --(4 行受影响)--修改update test set test.name= @mytabe.namefrom @mytabewhere [email protected]<strong>必须</strong><strong>声明</strong><strong>标量</strong><strong>变量</strong> "@mytabe"。--解决方法update test set test.name= ta.namefrom @mytabe as tawhere test.id=ta.id--(4 行受影响)