Home >Database >Mysql Tutorial >必须声明标量变量 "@tempTable"

必须声明标量变量 "@tempTable"

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:14:587837browse

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

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'
*/
go
declare @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 行受影响)

--(1 行受影响)

-- 增加
insert into test
	select name from @mytabe
	
--(4 行受影响)

--修改

update test set test.name= @mytabe.name
from @mytabe
where test.id=@mytabe.id

--<strong>必须</strong><strong>声明</strong><strong>标量</strong><strong>变量</strong> "@mytabe"。




--解决方法
update test set test.name= ta.name
from @mytabe as ta
where test.id=ta.id
--(4 行受影响)	




 

 

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn