这是我的存储结构的代码Create proc Insert_Locuser
@LocusID int,
@LocusName nchar(10),
@Area float,
@rtn3 int output,
@rtn1 int output,
@rtn2 int outputas
declare@temLocusID int,
@temLocusName nchar(10),
@temArea floatif exists(select * from Locus where LocusID=@LocusID)beginselect @temLocusID=LocusID,@temLocusName=LocusName,@temArea=Areafrom Locus where LocusID=@temLocusIDif ((@temLocusID=@LocusID)and(@temLocusName=@LocusName)and(@temArea=@Area))
begin
set @rtn3=0
end
else
begin
update Locus set LocusID=@LocusID,LocusName=@LocusName,Area=@Area
set @rtn1=2
end
end
else
begin
insert into Locus values (@LocusID,@LocusName,@Area)
set @rtn2=1
enddeclare @rtn3 int
exec sp_Insert_Locuser '21','常德',14,@rtn3 output
if @rtn1=0
print '不能插入相同数据'
else if @rtn2=1
print '插入成功'
else
print '更新成功'但是一直出这个问题,百度 Google也没好的解决办法,所以小弟特来请教CSDN上的高手,希望大家帮帮我这个新人,感激不尽
@LocusID int,
@LocusName nchar(10),
@Area float,
@rtn3 int output,
@rtn1 int output,
@rtn2 int outputas
declare@temLocusID int,
@temLocusName nchar(10),
@temArea floatif exists(select * from Locus where LocusID=@LocusID)beginselect @temLocusID=LocusID,@temLocusName=LocusName,@temArea=Areafrom Locus where LocusID=@temLocusIDif ((@temLocusID=@LocusID)and(@temLocusName=@LocusName)and(@temArea=@Area))
begin
set @rtn3=0
end
else
begin
update Locus set LocusID=@LocusID,LocusName=@LocusName,Area=@Area
set @rtn1=2
end
end
else
begin
insert into Locus values (@LocusID,@LocusName,@Area)
set @rtn2=1
enddeclare @rtn3 int
exec sp_Insert_Locuser '21','常德',14,@rtn3 output
if @rtn1=0
print '不能插入相同数据'
else if @rtn2=1
print '插入成功'
else
print '更新成功'但是一直出这个问题,百度 Google也没好的解决办法,所以小弟特来请教CSDN上的高手,希望大家帮帮我这个新人,感激不尽
@LocusID int,
@LocusName nchar(10),
@Area float,
@rtn3 int output,
@rtn1 int output,
@rtn2 int outputas
declare@temLocusID int,
@temLocusName nchar(10),
@temArea floatif exists(select * from Locus where LocusID=@LocusID)beginselect @temLocusID=LocusID,@temLocusName=LocusName,@temArea=Areafrom Locus where LocusID=@temLocusIDif ((@temLocusID=@LocusID)and(@temLocusName=@LocusName)and(@temArea=@Area))
begin
set @rtn3=0
end
else
begin
update Locus set LocusID=@LocusID,LocusName=@LocusName,Area=@Area
set @rtn1=2
end
end
else
begin
insert into Locus values (@LocusID,@LocusName,@Area)
set @rtn2=1
enddeclare @rtn4 int
exec sp_Insert_Locuser '21','常德',14,@rtn4 output
if @rtn1=0
print '不能插入相同数据'
else if @rtn2=1
print '插入成功'
else
print '更新成功'
无法为当前对象而将行添加到 sysdepends,因为此对象所依赖的对象 'sp_Insert_Locuse' 缺失。仍将创建此对象。这个是怎么回事啊!我也是刚接触数据库,这个不了解,高手多多指教,小弟感激不尽
@LocusID int,
@LocusName nchar(10),
@Area float,
@rtn3 int output,
@rtn1 int output,
@rtn2 int outputas
declare@temLocusID int,
@temLocusName nchar(10),
@temArea floatif exists(select * from Locus where LocusID=@LocusID)beginselect @temLocusID=LocusID,@temLocusName=LocusName,@temArea=Area from Locus where LocusID=@temLocusIDif ((@temLocusID=@LocusID)and(@temLocusName=@LocusName)and(@temArea=@Area))
begin
set @rtn3=0
end
else
begin
update Locus set LocusID=@LocusID,LocusName=@LocusName,Area=@Area
set @rtn1=2
end
end
else
begin
insert into Locus values (@LocusID,@LocusName,@Area)
set @rtn2=1
end
exec sp_Insert_Locuser '21','常德',14,@rtn3 OUTPUTif @rtn1=0
print '不能插入相同数据'
else if @rtn2=1
print '插入成功'
else
print '更新成功'
Create proc Insert_Locuser
@LocusID int,
@LocusName nchar(10),
@Area float,
@rtn3 int output,
@rtn1 int output,
@rtn2 int outputas傳參變量在內容里不需要重新聲明變量,直接用就行了
你这里要输出参数 应该用 exec sp_executesql
sp_helptext sp_Insert_Locuse--看看是否有表不存在或視圖不存在