Heim >Datenbank >MySQL-Tutorial >必须声明标量变量 "@tempTable"

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:14:587841Durchsuche

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 行受影响)	




 

 

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn